我想等待一个元素上是可见的,所以我已经设置在波纹管的方法隐含的等待:隐含的等待没有在硒工作的webdriver
public boolean isDisplayed(String xpathElement,int timeOut) {
boolean found = true;
try {
driver.manage().timeouts().implicitlyWait(timeOut , TimeUnit.SECONDS);
driver.findElement(By.xpath(xpathElement)).isDisplayed();
} catch(NoSuchElementException e) {
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
found = false;
}
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
return found;
}
我废了隐含的等待,因为我用的是webDriverWait
我不想问题,但isDisplayed()
显示该元素仍然不可见,它表明超时是0秒,而不是方法中传递的超时。
是否有任何理由不选择使用可能适合您目的的“显式等待”功能? – 2014-09-10 10:31:01
嗨马克,感谢您的评论事情是,我希望有这种方法通过我的所有项目,而不是依赖于特定的测试用例,但你的权利,我实际上可以使用明确的等待“elemenetToBeClicable”,它会'已解决问题 – 2014-09-10 11:25:34