Selenium : Vérification de l'achèvement du chargement d'une page Web
De nombreux développeurs s'efforcent de valider le chargement complet d'une page Web dans Selenium pour des tests transparents et précis . Cependant, contrairement aux contrôles explicites de visibilité des éléments, il n'existe pas de fonction générique prête à l'emploi pour vérifier l'achèvement du chargement de la page.
Codes essayés
Vous avez tenté de vérifier avec ce code :
new WebDriverWait(firefoxDriver, pageLoadTimeout).until( webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
Mais, comme vous l'avez observé, cette approche a limitations.
PageLoadStrategy
Bien que pageLoadStrategy puisse être défini sur « normal » pour garantir que « document.readyState » est égal à « complet », il n'est pas infaillible. Les appels JavaScript et Ajax peuvent encore être en attente, nécessitant des mesures supplémentaires.
Attentes indéfinies
Approches telles que l'attente de "jQuery.active == 0" ou l'utilisation de WebDriverWait avec titleContains () impliquent des temps d'attente indéfinis.
Élément visible Waits
Une méthode granulaire consiste à utiliser WebDriverWait avec visibilitéOfElementLocated(). Cela fait que votre programme attend spécifiquement la visibilité de l'élément souhaité, fournissant ainsi une vérification plus précise qu'il est entièrement chargé.
Références supplémentaires
Pour plus d'informations, reportez-vous à ces ressources :
Conclusion
Bien qu'il n'existe pas de fonction générique pour vérifier l'achèvement du chargement des pages dans Selenium, en employant les techniques évoquées, telles comme PageLoadStrategy, "jQuery.active == 0", les attentes indéfinies et les attentes d'éléments visibles, vous pouvez obtenir une évaluation efficace du chargement de la page progrès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!