Gestion des erreurs C#
Dépannage des erreurs courantes rencontrées lors de l'utilisation d'Axe DevTools for Web pour C#
La version 4.3.0 et supérieure des intégrations axe-core utilise une nouvelle technique lors de l'appel de AxeSelenium.run() qui ouvre une nouvelle fenêtre à la fin d'une exécution. De nombreux problèmes décrits dans ce document traitent des problèmes courants liés à cette technique et de 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 message d'erreur type 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: undefinedAvoir les bloqueurs de pop-up activés
Les bloqueurs de pop-up nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel de AxeSelenium::run. La configuration par défaut de la plupart des bibliothèques de tests automatisés devrait autoriser les pop-ups. Veuillez vous assurer de ne pas activer explicitement les bloqueurs de pop-up, car cela pourrait causer un problème lors de l'exécution des tests.
AxeSelenium::useLegacyMode(boolean legacy)
Si, pour une raison quelconque, vous ne parvenez pas à exécuter la nouvelle technique AxeSelenium::run sans erreurs, axe propose une nouvelle méthode chaînable qui vous permet d'exécuter la version héritée de AxeSelenium::run. Lors de l'utilisation de cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les frames et iframes inter-domaines.
AxeSelenium::useLegacyMode est obsolète et sera supprimé dans la version 5.0. Veuillez signaler toute erreur que vous pourriez rencontrer lors de l'exécution de AxeSelenium::run afin qu'elles puissent être corrigées avant que la version héritée ne soit supprimée.
Exemple
using Deque.AxeDevtools.Selenium;
using OpenQA.Selenium.Chrome;
public class Program
{
static void Main(string[] args)
{
// open webdriver and go to test page
var webDriver = new ChromeDriver();
webDriver.Navigate().GoToUrl("http://www.testurl.com/");
// enable legacy mode and analyze
var results = new AxeSelenium(webDriver)
.UseLegacyMode(true)
.Analyze();
}
}