我们当前正在开发一个基于Web的应用程序,该应用程序向用户发送电子邮件以验证其帐户。我是Selenium和BDD的新手,到目前为止已经能够登录到基于Web的电子邮件帐户,并且可以打开特定的电子邮件。但是,用于激活我的帐户的URL不是超链接,因此我认为我可以提取包含URL的文本并使用Selenium作为链接打开它。
如果我查看来源,则以下是电子邮件的摘录:
<div id="messagebody">
<div class="message-htmlpart" id="message-htmlpart1">
<div class="rcmBody">
<img style="width: 150px" src="https://link/" />
<br />
<br />
Dear Name
<br /><br />
A new profile was created at http://... using this e-mail address. Please click on the link below to validate that the user profile can be created:
<br />
<br />
https://athandwe.link/activate_account?uakey=1X7AP43W74AYDV9HUJSTRTVK8LOLA24
<br />
...
我已经尝试了几种修复方法,但是却无法获胜:
1. string info = currentDriver.FindElement(By.XPath("//div[@class='rcmBody']/text()[following-sibling::br]")).Text;
2. string info = currentDriver.FindElement(By.XPath("//*[contains(text() ,'athandwe')]")).Text;
3. string info = currentDriver.FindElement(By.XPath("//div[@class='rcmBody']")).Text;
我希望结果是https://athandwe.link/activate_account?uakey=1X7AP43W74AYDV9HUJSTRTVK8LOLA24
尝试1和2给出错误消息-文本输出与元素预期错误
尝试3遍整封电子邮件
答案 0 :(得分:1)
开发人员进行了更改,以创建标记,并且我的测试现在通过了。
建议词-当电子邮件中包含链接时,如果要在自动化测试中单击链接,请确保有一个锚标记来标识链接。