我正在尝试使用 Java 和 Selenium WebDriver 自动化一些测试用例。我有以下场景:
测试用例工作正常,如果Thread.sleep(3000);
在单击“添加项目”按钮之前使用。对于这个问题还有其他解决方法吗?
3 个答案,您可以组合起来:
-
创建 Web 驱动程序实例后立即设置隐式等待:
_ = driver.Manage().Timeouts().ImplicitWait;
这将尝试等到页面在每次页面导航或页面重新加载时完全加载。
-
页面导航后,调用JavaScriptreturn document.readyState
until "complete"
被返回。 Web 驱动程序实例可以充当 JavaScript 执行器。示例代码:
C#
new WebDriverWait(driver, MyDefaultTimeout).Until(
d => ((IJavaScriptExecutor) d).ExecuteScript("return document.readyState").Equals("complete"));
Java
new WebDriverWait(firefoxDriver, pageLoadTimeout).until(
webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
检查 URL 是否与您期望的模式匹配。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)