Junior — Middle
Puoi spiegare cos'è il meccanismo di attesa esteso Fluent Wait nei test automatizzati o nella programmazione?
sobes.tech AI
Risposta dell'AI
Fluent Wait è un meccanismo avanzato di attesa nei test automatizzati che consente di configurare in modo flessibile il processo di attesa della comparsa di un elemento o del verificarsi di una condizione. A differenza dell’attesa esplicita semplice, Fluent Wait permette di definire:
- Il tempo massimo di attesa
- La frequenza di polling (ogni quanto verificare la condizione)
- Le eccezioni da ignorare durante l’attesa (ad esempio, NoSuchElementException)
Questo è utile quando un elemento può apparire con ritardo o cambiare dinamicamente, e non basta aspettare un tempo fisso, ma si verifica la condizione a intervalli regolari ignorando errori temporanei.
Esempio in Java con 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")));
Qui aspettiamo fino a 30 secondi, verificando ogni 5 secondi la presenza dell’elemento, ignorando le eccezioni se l’elemento è temporaneamente non trovato.