Selenium add explici wait code example
Example 1: how to waitselenium webelement java
WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.id("button1")));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("text_box1")));
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("text_box1")));
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Example 2: waits in selenium
- Synchronization is making sure our driver
and browser are on the same page.
- Since selenium browser driver is a lot
faster compared to the browsers , we use
different types of waits to make sure
selenium is synchronized with browsers.
There are 3 wait types to handle synchronization
issue from selenium;
1- Implicit Wait
Everytime we are trying to locate a webelement
is triggered. By default wait time is 0 second.
If we set the time to 10 seconds, and our driver
not able to find element, it will count for
given time. If element findst the webelement
it doesn't throw an exception.
2- Explicit Wait & 3- Fluent Wait
Both explicit and fluent wait is waiting for
explicit condition to happen
Like:
-elementIsDisplayed
-titleIs()
-visibilityOf
-elementToBeClickable
I use explicit wait in my framework
**THREAD.SLEEP
There is also thread.sleep comes from java library.
I always avoid to use it since it makes my
automation framework slower and heavier.
Thread.sleep basically holds the whole execution
for given time without any condition