Ci-dessous est mon code qui s'affiche comme obsolète après avoir mis à jour la version Selenium Webdriver à 3.11.0.
private Wait<WebDriver> mFluentWait(WebDriver pDriver) {
Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(100, TimeUnit.SECONDS)
.pollingEvery(600, TimeUnit.MILLISECONDS).ignoring(NoSuchElementException.class);
return gWait;
}
Affichage d'un avertissement obsolète dans la section withTimeout
et pollingEvery
du code.
Comment puis-je réécrire ce code afin de pouvoir supprimer l'avertissement obsolète.
Depuis que je suis nouveau à Selenium, je ne suis pas sûr du changement. Toute aide serait appréciée.
La réponse de @Grasshopper nous indique le constructeur exact de FluentWait et votre exigence de supprimer l'avertissement de dépréciation des champs avec TimeTime et pollingEvery . Si vous rencontrez des difficultés supplémentaires, vous pouvez utiliser la ligne de code ci-dessous:
import Java.time.Duration;
//lines of code
Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(Duration.ofSeconds(100))
.pollingEvery(Duration.ofMillis(600)).ignoring(NoSuchElementException.class);
Vous pouvez trouver une discussion détaillée dans Le type FluentWait n'est pas générique; il ne peut pas être paramétré avec une erreur d'arguments pour la classe FluentWait via Selenium et Java
vous pouvez utiliser les lignes de code suivantes:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
.ignoring(WebDriverException.class);
Vérifiez le code source de FluentWait qui mentionne d'utiliser les méthodes utilisant la durée comme arguments à la place.
withTimeout(Duration duration)
.pollingEvery(Duration duration)
.