Gestion des erreurs dans Puppeteer

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 rencontrées dans Axe DevTools for Web pour Puppeteer

Not for use with personal data

La version 4.3.0 et ultérieure des intégrations Axe DevTools for Web utilise une nouvelle technique lors de l'appel de AxeDevToolsPuppeteer.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 des bloqueurs de fenêtre contextuelle activés

Les bloqueurs de fenêtre contextuelle nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel de AxeDevToolsPuppeteer.analyze(). La configuration par défaut de la plupart des bibliothèques de tests automatisés devrait permettre les fenêtres contextuelles. Assurez-vous de ne pas activer explicitement les bloqueurs de fenêtres contextuelles qui pourraient poser problème lors de l'exécution des tests.

AxeDevToolsPuppeteer.setLegacyMode(legacy: boolean)

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

note

AxeDevToolsPuppeteer.setLegacyMode 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 AxeDevToolsPuppeteer.analyze afin qu'elles puissent être corrigées avant que la version héritée ne soit supprimée.

Exemple

const { AxeDevToolsPuppeteer } = require('@axe-devtools/puppeteer');
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setBypassCSP(true);

  await page.goto('https://dequeuniversity.com/demo/mars/');

  try {
    const results = await new AxeDevToolsPuppeteer(page).setLegacyMode().analyze();
    console.log(results);
  } catch(err) {
      // do something with the error
  }
  await page.close();
  await browser.close();
})();