Selenium and Java

Tuesday, 14 April 2015

Selenium - Implicit wait and Explicit wait in Selenium Webdriver

Difference between Implicit wait and Explicit Wait...


Implicit Wait Explicit Wait
Implicit wait used for all the element search Explicit wait is specific to the element and is more flexible compare to Implicit wait. 
Implicit wait is time based. where we can command selenium WebDriver to wait for specific time. e.g 30 sec or 1 min and if till given time element not found than throws NoSuchElementexception. Explicit wait is condition based with time. In this we can command selenium WebDriver to wait for any condition and if condition not satisfied till given time then throws exception  
By default Implicit wait is 0.No default value
We need to provide two parameter to define implicit wait, Time to wait and UnitExplicit wait is programmatic.
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver, 10);

WebElement element = wait.until(ExpectedConditions. elementToBeClickable(By.id("txtuser")));

One drawback of implicit wait is it affects performance of the automation execution as it waits for all the element for given time. And we need to give time of the slowest element to load.alertIsPresent ()
elementSelectionStateToBe :
elementToBeClickable
elementToBeSelected
envisibilityOfElementLocated 
and many more...


No comments:

Post a Comment