Sobes.tech
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.