Gestion des erreurs Ruby
Résolution des erreurs courantes rencontrées lors de l'utilisation d'Axe DevTools for Web pour Ruby
Comment contourner les erreurs causées par Axe DevTools Ruby 4.3
La version 4.3.0 et supérieure des intégrations Axe DevTools utilise une nouvelle technique lors de l'analyse d'une page, qui ouvre une nouvelle fenêtre à la fin d'un test. De nombreux problèmes abordés dans ce document traitent des problèmes courants liés à cette technique et de leurs solutions potentielles.
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 message d'erreur exemple pour ce problème inclura un message concernant switchToWindow. Par exemple :
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedBloqueurs de fenêtres contextuelles activés
Les bloqueurs de fenêtres contextuelles nous empêchent d'ouvrir une nouvelle fenêtre lors de l'analyse d'une page. La configuration par défaut de la plupart des bibliothèques de tests automatisés devrait autoriser les fenêtres contextuelles. Assurez-vous de ne pas activer explicitement les bloqueurs de fenêtres contextuelles, car cela pourrait causer un problème lors de l'exécution des tests.
Axe::Configuration.legacy_mode
Si, pour une raison quelconque, vous ne parvenez pas à analyser une page sans erreurs, Axe fournit une nouvelle méthode chaînable qui vous permet de lancer la procédure héritée. Lors de l'utilisation de cette méthode, Axe exclut les problèmes d'accessibilité qui peuvent se produire dans les cadres et iframes cross-domain.
Axe::Configuration.legacy_mode est déprécié et sera supprimé en version 5.0. Veuillez signaler toute erreur que vous pourriez rencontrer lors de l'analyse d'une page afin qu'elle puisse être corrigée avant la suppression de la version héritée.
Exemple
require "axe/core"
def analyze_page
...
end
def open_page
...
end
webdriver = open_page
Axe::Configuration.instance.legacy_mode = true
results = analyze_page