这是我的firefox浏览器的selenium web驱动程序初始化。
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
即使我给了隐含的等待selenium而不是等待元素。它会立即抛出未找到的异常。如果我放Thread.sleep
那么它工作正常没有任何问题。但是将Thread.sleep
放在测试用例的任何地方现在包含的Thread.sleep
比实际的测试用例代码更多。有谁能建议我这样做的正确方法?
答案 0 :(得分:1)
在这种情况下,您应该使用ExplicitWait
等待特定元素可见或存在,因为这不是一个好的做法,可以使用该线程。我建议使用:
WebDriver driver wait = new WebDriverWait(driver, "time here");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xPath)));