我想等待一個元素上是可見的,所以我已經設置在波紋管的方法隱含的等待:隱含的等待沒有在硒工作的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