Gestion des erreurs Python dans axe DevTools for Web
Explique comment fonctionne la gestion des erreurs dans axe DevTools for Web avec Python
Comment contourner les erreurs causées par axe DevTools Python 4.3
Les versions 4.3.0 et supérieures des intégrations axe DevTools utilisent une nouvelle technique lors de l'appel de Axe.analyze()
, qui ouvre une nouvelle fenêtre à la fin d'une exécution. La plupart des points décrits dans ce document abordent les problèmes courants liés à cette technique et leurs solutions potentielles.
Avoir un pilote obsolète
Un problème courant est d’avoir un pilote obsolète. Pour résoudre ce problème, assurez-vous que votre installation locale de geckodriver ou chromedriver est à jour.
Un exemple de message d’erreur pour ce problème inclura un message concernant switchToWindow
.
Exemple :
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined
Avoir les bloqueurs de pop-up activés
Les bloqueurs de popups nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel Axe.analyze()
. La configuration par défaut de la plupart des bibliothèques de tests d'automatisation doit autoriser les fenêtres contextuelles. Assurez-vous de ne pas activer explicitement les bloqueurs de fenêtres contextuelles, ce qui peut entraîner un problème lors de l'exécution des tests.
Axe.set_legacy_mode()
Si vous ne pouvez pas exécuter la nouvelle technique sans erreurs, axe fournit une méthode chaînable pour exécuter la version héritée. Axe.analyze()
Axe.analyze()
Lors de l'utilisation de cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les cadres et les iframes inter-domaines.
Axe.set_legacy_mode()
est obsolète et sera supprimé dans la version 5.0. Veuillez signaler toute erreur que vous pourriez rencontrer lors de l'exécution afin qu'elle puisse être corrigée avant que la version héritée ne soit supprimée. Axe.analyze()
Exemple
from axe_devtools_api import Axe
driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()