没有验证脚本的 IE selenium webdriver 运行 太快了
IE selenium webdriver without validation script running too fast
我在 IE11 中遇到这个问题
我正在 FF 中执行我的脚本,它运行良好
但是在 IE 中的 运行 脚本上运行速度太快无法验证用户输入的电子邮件 ID 是否正确
ac.VerifyEmailTextBoxIsEditable();
功能包括:
var loginCredentials = new LoginModel(_driver); //登录模型包含:数据txtBox_email.Clear(); txtBox_email.SendKeys(loginCredentials._EmailAddressUnRegistered);
ac.pwdChoice_no.Click();
ac.btn_continue.Click();
在完成电子邮件验证之前,它会执行脚本,所以虽然我输入了正确的电子邮件,但它会显示
"Error Login email ID field required"
如果我手动操作,它工作正常。
如果您试图减慢测试脚本的执行速度,则需要配置隐式或显式等待。在 Java 中,有很多方法可以做到这一点——既可以通过扩展事件侦听器,也可以只是简单的 ExpectedConditions。
http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp
我喜欢等待实际元素可见后再与之交互。换句话说,在发送键之前等待元素可见。
例如
new WebDriverWait(driver, 30)).until(ExpectedConditions.visibilityOf(txtBox_email));
在此之后,您可以发送密钥,甚至可以获取 txtBox_email 中设置的值...在调用 txtBox_email.Click() 之前(我假设是 C#)。您甚至可以等待如果您不关心紧密的反馈循环,直到填充 txtBox_email =P.
最后,我建议您研究 ExpectedConditions class/file 以便最终构建您自己的显式等待(独特情况)。
我在 IE11 中遇到这个问题
我正在 FF 中执行我的脚本,它运行良好
但是在 IE 中的 运行 脚本上运行速度太快无法验证用户输入的电子邮件 ID 是否正确
ac.VerifyEmailTextBoxIsEditable();
功能包括: var loginCredentials = new LoginModel(_driver); //登录模型包含:数据txtBox_email.Clear(); txtBox_email.SendKeys(loginCredentials._EmailAddressUnRegistered);
ac.pwdChoice_no.Click();
ac.btn_continue.Click();
在完成电子邮件验证之前,它会执行脚本,所以虽然我输入了正确的电子邮件,但它会显示
"Error Login email ID field required"
如果我手动操作,它工作正常。
如果您试图减慢测试脚本的执行速度,则需要配置隐式或显式等待。在 Java 中,有很多方法可以做到这一点——既可以通过扩展事件侦听器,也可以只是简单的 ExpectedConditions。
http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp
我喜欢等待实际元素可见后再与之交互。换句话说,在发送键之前等待元素可见。
例如
new WebDriverWait(driver, 30)).until(ExpectedConditions.visibilityOf(txtBox_email));
在此之后,您可以发送密钥,甚至可以获取 txtBox_email 中设置的值...在调用 txtBox_email.Click() 之前(我假设是 C#)。您甚至可以等待如果您不关心紧密的反馈循环,直到填充 txtBox_email =P.
最后,我建议您研究 ExpectedConditions class/file 以便最终构建您自己的显式等待(独特情况)。