Wait Commands in Selenium:-

0

It is used to provide wait time for a particular time, it is mostly used where we run multiple processes simultaneously.
Type of wait:-
1) Implicit wait:-
It is used to provide a particular time interval after that performs navigation or another process.
WebDriver driver;
driver.manage().timeouts.implicitWait(timeinterval,TimeUnit.Seconds);
  public class WaitComandExample {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","c:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Thread.sleep(5000);
//driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("https://shivaconceptsolution.com/test.html");
driver.close();
}
}
2) Explicit wait:-
It is used to provide wait time according to expected conditions using a web element.
WebDriverWait wait=new WebDriverWait(driver, 20);
 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath"))); 
public class GmailExample {
	public static void main(String[] args) {
		System.setProperty("webdriver.chrome.driver","c:\\chromedriver.exe"); 
	     WebDriver driver = new ChromeDriver();  
	    
	     driver.get("https://google.com/ncr");
	     driver.findElement(By.name("q")).sendKeys("cheese" + Keys.ENTER);
	     // Initialize and wait till element(link) became clickable - timeout in 10 seconds
	     WebElement firstResult = new WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.xpath("//a/h3")));
	     // Print the first result
	     System.out.println(firstResult.getText());
	}
}
3) Fluent Wait Example:-
package scs;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.FluentWait;
public class WebDriverFluentWaitExample {

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","c://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://softwaretestingplace.blogspot.com/2017/02/selenium-fluent-wait.html");
driver.findElement(By.xpath("//*[@id=\"post-body-5280210221385817166\"]/div[1]/button")).click();
FluentWait<WebDriver> wait = new FluentWait<WebDriver>(driver)
       .withTimeout(Duration.ofSeconds(10))
       .pollingEvery(Duration.ofSeconds(5)).ignoring(NoSuchElementException.class);

WebElement element = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
WebElement element = driver.findElement(By.xpath("//*[@id='demo']"));
String getTextOnPage = element.getText();
if(getTextOnPage.equals("Software Testing Material - DEMO PAGE")){
System.out.println(getTextOnPage);
return element;
}else{
System.out.println("FluentWait Failed");
return null;
}
}
});
}

}

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)