WebDriver driver = new ChromeDriver();
//implicit wait
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
//explicit wait - wait given a timeout time
WebDriverWait webDriverWait = new WebDriverWait(driver, MAX_WAIT_TIME);
webDriverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(GRID_TITLE_XPATH)));
//fluent wait - wait given a timeout time and polling interval
public WebElement fluentWait(final By locator) {
Wait wait = new FluentWait(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(org.openqa.selenium.NoSuchElementException.class);
//Can also use functions from ExpectedConditions class such as ExpectedConditions.visibilityOfElementLocated(By locator)
WebElement element = wait.until(new Function() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
});
return element;
};
WebElement e = fluentWait(By.xpath(GRID_TITLE_XPATH));
Comments
Post a Comment