Différentes méthodes d'attente dans Selenium WebDriver
Voici les différents types de méthodes d'attente disponibles dans Selenium WebDriver:
WebDriver attend pendant un certain temps jusqu'à ce que tous les éléments de la page soient chargés. Cela peut être utile lorsque certains éléments de la page Web ne sont pas disponibles immédiatement et nécessitent un certain temps pour se charger (elle s’applique sur tout le drive).
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
WebDriver attendra un élément spécifique sur la page jusqu'à ce que la condition donnée soit satisfaite. Cela peut être utile si l'un des éléments prend plus de temps à se charger par rapport aux autres éléments de la page (elle s’applique pas sur tous le drive elle s’applique que sur l’element qu’on le cherche donc on la déclare avant chaque déclaration d’un élement).
driver.findElement(By.xpath("//a[text()=' Sign Up Here']")).click();
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("firstName"))).sendKeys("qascript");
Il indique au webdriver d'attendre une condition, ainsi que la fréquence à laquelle vérifier la condition.
Wait<WebDriver> wait1 = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(30))
.pollingEvery(Duration.ofSeconds(5))
.ignoring(NoSuchElementException.class);
WebElement element = wait1.until(new Function<WebDriver, WebElement>() {
@Override
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("firstName"));
}
});
element.sendKeys("qascript");
PageLoad Timeout
Définit la durée d'attente du chargement d'une page avant de générer une erreur.
driver.manage().timeouts().pageLoadTimeout(30,TimeUnit.SECONDS);
SetScript Timeout
Définit la durée d'attente d'un script asynchrone pour terminer l'exécution avant de générer une erreur.
driver.manage().timeouts().setScriptTimeout(30,TimeUnit.SECONDS);
PHP | JS | WordPress Developer & Freelancer 🚀
6 moisTrès intéressant ✅🚀