Junior — Middle
Kunt u uitleggen wat de uitgebreide wachttijdmechanisme Fluent Wait is in geautomatiseerde tests of programmeren?
sobes.tech AI
Antwoord van AI
Fluent Wait is een geavanceerd wachmechanisme in geautomatiseerde tests dat het mogelijk maakt om het wachtraject flexibel in te stellen voor het verschijnen van een element of het voldoen aan een voorwaarde. In tegenstelling tot eenvoudige expliciete wachttijden, stelt Fluent Wait je in staat om:
- De maximale wachttijd
- De pollingsfrequentie (hoe vaak de voorwaarde wordt gecontroleerd)
- De uitzonderingen die tijdens het wachten genegeerd moeten worden (bijvoorbeeld NoSuchElementException)
Dit is handig wanneer een element met vertraging kan verschijnen of dynamisch kan veranderen, en het niet genoeg is om slechts een vaste tijd te wachten, maar de voorwaarde op regelmatige intervallen te controleren en tijdelijke fouten te negeren.
Voorbeeld in Java met Selenium:
Wait<WebDriver> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(30))
.pollingEvery(Duration.ofSeconds(5))
.ignoring(NoSuchElementException.class);
WebElement element = wait.until(driver -> driver.findElement(By.id("myElement")));
Hier wachten we tot 30 seconden, controleren we elke 5 seconden of het element aanwezig is, en negeren we tijdelijke uitzonderingen.