4.3 Gestion des erreurs

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 que vous pourriez rencontrer en utilisant Axe DevTools pour Web avec WebdriverIO

Not for use with personal data

La version 4.3.0 et les suivantes des intégrations Axe DevTools utilisent une nouvelle technique lors de l'appel de AxeDevToolsWebdriverIO.analyze() qui ouvre une nouvelle fenêtre à la fin d'un test. Bon nombre des problèmes décrits dans ce document traitent de problèmes courants liés à cette technique et de leurs solutions potentielles.

Avoir un pilote non à jour

Un problème courant est d'avoir un pilote non à jour. 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 des bloqueurs de popups activés

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

AxeDevToolsWebdriverIO.setLegacyMode(legacy: boolean)

Si pour une raison quelconque vous ne parvenez pas à exécuter la nouvelle technique de AxeDevToolsWebdriverIO.analyze sans erreur, axe propose une nouvelle méthode chaînable qui vous permet d'exécuter la version ancienne de AxeDevToolsWebdriverIO.analyze. Lors de l'utilisation de cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les cadres et iframes inter-domaines.

note

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

Exemple

const { AxeDevToolsWebdriverIO } = require('@axe-devtools/webdriverio');
const { remote } = require('webdriverio');

(async () => {
  const client = await remote({
    logLevel: 'error',
    capabilities: {
      browserName: 'chrome'
    }
  });

  await client.url('https://dequeuniversity.com/demo/mars/');

  const builder = new AxeDevToolsWebdriverIO({ client });
  try {
    const results = await builder
      .setLegacyMode()
      .analyze();
    console.log(results);
  } catch (e) {
    // do something with the error
  }
  await client.deleteSession();
})();