Outlook邮件测试

软件测试 自动化测试 网络驱动程序
2022-01-31 14:51:20

我想知道如何使用outlook来测试邮件(邮件有一个链接,需要点击才能批准或拒绝请求)。我如何在 c# 的 Selenium Webdriver 中编写这个。我对硒很陌生。我想学习如何在 C# 中自动化测试。请与我分享你的知识。

与此线程有关的东西。 是否可以使用 selenium 进行邮件测试?

3个回答

你有几个选择。您可以像 Lyndon 在他的答案中链接到的那样自动化 Outlook,或者您可以改用网络电子邮件帐户并使用 Selenium 之类的工具来自动化它,或者可能最有效和最简单的方法是使用可以接收的 SMTP 库电子邮件并以编程方式解析响应并在浏览器中打开链接。

编辑:我的意思是 IMAP 库(接收电子邮件)。SMTP 用于发送邮件。以下是有关使用 IMAP 从 gmail 帐户访问电子邮件的一些文档:https ://developers.google.com/google-apps/gmail/xoauth2_libraries

当人们想到测试自动化时,往往会想到 Selenium 之类的东西。然而,像 Selenium、Webdriver、WATiR 这样的库只能在浏览器中提供帮助。

如果您想在 Outlook 中使用 C# 执行此操作,则不需要这些库。您可能希望使用 Microsoft.Office.Interop.Outlook。

前段时间我也遇到过类似的问题,这里有答案。这可能会让你有一个好的开始。

为什么不使用 c# 代码本身?

 Outlook.Application oApp = new Outlook.Application();
                Outlook.NameSpace olNameSpace = oApp.GetNamespace("mapi");
                Outlook.MAPIFolder oInbox  = olNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
                Outlook.Items oItems  = oInbox.Items;
                Console.WriteLine("Total : " + oItems.Count);
                oItems = oItems.Restrict("[Unread] = true");
                Console.WriteLine("Total Unread : " + oItems.Count); //Unread Items
                Outlook.MailItem oMsg;

                for (int i = 0; i < oItems.Count; i++)
                {
                    oMsg = (Outlook.MailItem)oItems.GetFirst();


                    //oMsg.Display(true);

                    Console.WriteLine(oMsg.Links);
                    IE browser1 = new IE(oMsg.Links);
                    Console.WriteLine(oMsg.SenderName);
                    Console.WriteLine(oMsg.Subject);

                }