繁体   English   中英

在使用 Java 的 selenium Webdriver 中哪个等待更受欢迎? (隐式或显式)

[英]Which wait is more preferred in selenium Webdriver using Java? (Implicit or Explicit)

我知道它们之间的差异以及它们在执行过程中的实际行为。 我的问题是在使用 Selenium 的自动化中更喜欢哪一个? 我正在使用带有 Java 的 Selenium Webdriver 并在 TestNG 框架中自动化我的测试用例。对于某些浏览器,测试失败,因为 Webelement 不可点击,所以我怀疑我是否重新实现了此类 Web 元素的等待时间。

请给我建议一些替代方案。

回答哪个等待使用将是非常具体的,因为答案可能会根据您所关注的Web元素,平台以及更多而改变。 但是我可以建议您在情况中使用显式等待,因为您指定要使用多个浏览器,并且Web元素的加载时间因浏览器而异。 因此,最好的办法是使用Wait with直到。 您可以将WebDriver等待时间设置为到目前为止所观察到的最大时间,因为即使Webelement变为可点击/可见,它也不会不必要地等待剩余时间。

下面是我在项目中如何实现的示例。

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='login']"))).click();

为了等到成功页面中的页面中加载了标题元素,我使用了以下方法:

WebDriverWait wait = new WebDriverWait(seleniumDriver, timeInterval);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(xpath)));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM