Wednesday, March 25, 2015

There are mainly two types:  Implicit Waits and Explicit waits

Implicit Wait

Implicit wait tells webdriver to poll for a specific amount of time. Once the time is over, WebDriver object will expire.

 Explicit Wait

Explicit wait tells the WebDriver to wait for certain conditions to occur before proceeding. By using WebDriverWait in combination with ExpectedCondition we can accomplish this.

Explicit wait are of two types:  WebDriver Wait and Fluent wait

WebDriver Wait:

Check below code:


Webelement element=null;
try{
element= new WebDriverWait(driver, 10).until( ExpectedConditions.presenceOfElementLocated(By.id(“elementid”))))
element.click();
}
catch (TimeoutException toe){

}

Once the wait is over and still the element is not found, it will throw a Timeout exception. So try to code inside a try/catch statement.


Fluentwait:

Webdriver wait is an extension of Fluentwait. In Fluentwait it also specifies the pollingtime to check for the condition of element ignoring nosuchElement exceptions.

Check below code:
 
try {
        new FluentWait<WebDriver>(driver).withTimeout(3, SECONDS)
            .pollingEvery(100, MILLISECONDS)
            .ignoring(NoSuchElementException.class)
            .until(new Function<WebDriver, Boolean>() {
              public Boolean apply(WebDriver d) {
                WebElement link = d.findElement(By.linkText(linkText));
                return link.isDisplayed();
              }
            });
        } catch(TimeoutException te) {
          assertFalse(String.format("Timeout waiting for link: '%s'", linkText), true);
        }

0 comments:

Post a Comment

>

Selenium useful links

Powered by Blogger.

Featured Post

Benefits of having a user Interface for a Selenium Automation Suite/Regression Suite

Once you are able to work independently on Selenium scripting, another important task is how to ease your automation test execution. There a...

Video

Popular Posts

Our Facebook Page