我正在尝试将密码恢复自动化到我的测试脚本上。 我正在尝试从malinator.com收到电子邮件,这就是它的样子。
<li class="row-fluid message ng-scope" ng-repeat="email in emails">
<a style="cursor: pointer;" onclick="showmail('1411426607-6188591-xapncvfk501')">
<div class="from ng-binding" style="width:223px;float:left;"> Mentor Support </div>
<div class="subject ng-binding" style="width:473px;float: left;"> Recovered Password </div>
<div class="time ng-binding" style="text-align: right;float:left;width:144px;padding: 0 5px 0 5px;margin:0;"> 16 minutes ago </div>
</a>
</li>
<li class="row-fluid message ng-scope" ng-repeat="email in emails">
<a style="cursor: pointer;" onclick="showmail('1411426524-6185292-xapncvfk501')">
<div class="from ng-binding" style="width:223px;float:left;"> Mentor Support </div>
<div class="subject ng-binding" style="width:473px;float: left;"> Recovered Password </div>
<div class="time ng-binding" style="text-align: right;float:left;width:144px;padding: 0 5px 0 5px;margin:0;"> 18 minutes ago </div>
这是我的代码:
IWebElement container = driver.FindElement(By.Id("mailcontainer"));
IList<IWebElement> emails = container.FindElements(By.CssSelector("[class$='ng-binding']"));
string[] title = new string[emails.Count];
for (int i = 0; i < title.Length; i++)
{
title[i] = emails[i].Text;
}
for (int i = 0; i < title.Length; i++)
{
if (title[i].Contains("Mentor Support"))
{
return i.ToString();
}
driver.FindElement(By.LinkText(title[i])).Click();
}
我想要做的是获取电子邮件列表以及包含“恢复密码”或“导师支持”标题的电子邮件,然后单击列表中的最顶层。我知道我的第二个声明是给我带来问题的,我不确定我是否正确地调用它。 谢谢你的帮助。
答案 0 :(得分:1)
作为测试的一部分,我绝对会避免尝试自动化第三方电子邮件网站。
使用电子邮件提供商API以编程方式获取和阅读电子邮件是一种更加快速和稳定的解决方案。
结帐;
http://sellotapetest.blogspot.co.uk/2012/12/page-objectswhy-not-email-objects.html?m=1