Gestion des erreurs C#
La version 4.3.0 et supérieure des intégrations axe-core utilise une nouvelle technique lors de AxeSelenium.run()
l'appel 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 AxeSelenium::run
l'appel. 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.
AxeSelenium::useLegacyMode(boolean legacy)
Si pour une raison quelconque vous ne pouvez pas exécuter la nouvelle AxeSelenium::run
technique sans erreurs, axe fournit une nouvelle méthode chaînable qui vous permet d'exécuter la version legacy de AxeSelenium::run
. Lorsque vous utilisez cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les cadres et les 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 AxeSelenium::run
afin qu'elles puissent être corrigées avant la suppression de l'ancienne version.
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();
}
}