Gestion des erreurs dans WebDriverJS

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Comment contourner les erreurs courantes observées dans Axe DevTools pour Web WebDriverJS

Not for use with personal data

La version 4.3.0 et au-delà des intégrations Axe DevTools pour le Web utilise une nouvelle technique lors de l'appel de AxeDevToolsBuilder.analyze(), 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 de disposer d'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 comprendra un message concernant switchToWindow.

Exemple

(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined

Avoir des bloqueurs de fenêtres contextuelles activés

Les bloqueurs de fenêtres contextuelles nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel de AxeDevToolsBuilder.analyze(). La configuration par défaut de la plupart des bibliothèques de tests automatisés devrait permettre les fenêtres contextuelles. Veuillez vous assurer que vous n'activez pas explicitement les bloqueurs de fenêtres contextuelles, car cela pourrait poser problème lors de l'exécution des tests.

AxeDevToolsBuilder.setLegacyMode(legacy: boolean)

Si, pour une raison quelconque, vous ne parvenez pas à exécuter la nouvelle technique AxeDevToolsBuilder.analyze sans erreurs, axe fournit une nouvelle méthode chaînable qui vous permet d'exécuter la version héritée de AxeDevToolsBuilder.analyze. En utilisant cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les frames et iframes inter-domaines.

note

AxeDevToolsBuilder.setLegacyMode est obsolète et sera retiré dans la version 5.0. Veuillez signaler toute erreur que vous pourriez rencontrer lors de l'exécution de AxeDevToolsBuilder.analyze afin qu'elles puissent être corrigées avant que la version héritée ne soit supprimée.

Exemple

var AxeDevToolsBuilder = require('@axe-devtools/webdriverjs');
const WebDriver = require('selenium-webdriver');
(async () => {
  const driver = new WebDriver.Builder().forBrowser('chrome').build();
  await driver.get('https://dequeuniversity.com/demo/mars/');
  try {
    const results = await new AxeDevToolsBuilder(driver)
        .setLegacyMode()
        .analyze();
        console.log(results);
  } catch (err) {
      // do something with the error
  }
  await driver.quit();
})();