【发布时间】:2014-04-07 14:56:17
【问题描述】:
我目前正在尝试使用 Selenium Webdriver (C#) 自动化忘记密码 -> 重置密码工作流程,用户导航到页面并提供他们的用户名,后端代码验证用户名,然后发送电子邮件带有指向与其帐户关联的电子邮件地址的重置密码链接。
我能够在代码发送电子邮件之前自动执行该过程,但我不知道任何检查电子邮件和/或单击电子邮件中的链接的方法,所以我希望有人对 Selenium/自动化更有经验的人可能会给我一些指点。
理想情况下,测试不应该关心电子邮件被发送到的电子邮件地址。 Selenium WebDriver 或某些 3rd 方包是否有办法捕获正在发送的电子邮件?
感谢您的任何意见或建议。
【问题讨论】:
-
这个测试应该证明什么?应用程序只能向某人发送电子邮件,它不能确保用户实际收到电子邮件。因此,您的测试也不能。
-
只是想要一个端到端的测试来验证用户是否可以点击忘记密码并使用电子邮件中提供的链接重置他们的密码。不过我明白你的意思,谢谢。
-
也许一种解决方法是将电子邮件转储到本地或某些存储中。例如,修改应用程序以将电子邮件转储到数据库或本地文件,然后然后发送电子邮件?然后,您可以在 .NET 中的 SMTP 客户端发送电子邮件之前接收电子邮件。然后,这将在您当前的解决方案中保存不必要的 SMTP 查询(您在下面的答案的评论中提到)
标签: c# email selenium selenium-webdriver