没有验证脚本运行得太快的IE selenium webdriver

时间:2015-02-25 12:22:57

标签: internet-explorer selenium selenium-webdriver

我在IE11中面临这个问题

我正在FF中执行我的脚本,运行正常

但是在IE中运行脚本时运行速度太快,无法验证用户输入的电子邮件ID是否正确

ac.VerifyEmailTextBoxIsEditable();

功能包括: var loginCredentials = new LoginModel(_driver); //登录模型包含:data txtBox_email.Clear(); txtBox_email.SendKeys(loginCredentials._EmailAddressUnRegistered);

          ac.pwdChoice_no.Click();

          ac.btn_continue.Click();

在完成电子邮件验证之前,它会执行脚本,因为我输入了正确的电子邮件

“错误登录所需的电子邮件ID字段”

如果我手动操作它可以正常工作。

1 个答案:

答案 0 :(得分:1)

如果您尝试减慢测试脚本执行速度,则需要配置隐式或显式等待。在Java中,有很多方法可以做到这一点 - 通过扩展事件监听器或只是普通的Jpected ExpectedConditions。

http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp

我喜欢在与之交互之前等待实际元素可见。换句话说,在发送密钥之前等待元素可见。

e.g。

new WebDriverWait(driver, 30)).until(ExpectedConditions.visibilityOf(txtBox_email));

在此之后,您可以发送密钥甚至获取在txtBox_email中设置的值...在调用txtBox_email.Click()之前(C#I" m假设)。如果您不关心紧密反馈循环= P,您甚至可以等到txtBox_email填充。

最后,我建议您研究ExpectedConditions类/文件,以便最终构建自己的显式等待(唯一情况)。