Gestion des erreurs dans Playwright
Comment contourner les erreurs qui peuvent survenir avec axe DevTools for Web for Playwright
La version 4.3.0 et supérieure de axe DevTools pour les intégrations Web utilise une nouvelle technique lors de l'appel AxeBuilder.analyze()
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 les bloqueurs de pop-up activés
Les bloqueurs de popups nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel AxeBuilder.analyze()
. 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.
AxeBuilder.setLegacyMode(legacy: boolean)
Si pour une raison quelconque vous ne pouvez pas exécuter la nouvelle AxeBuilder.analyze
technique sans erreurs, axe fournit une nouvelle méthode chaînable qui vous permet d'exécuter la version héritée de AxeBuilder.analyze
. Lorsque vous utilisez cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les cadres et les iframes inter-domaines.
AxeBuilder.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 AxeBuilder.analyze
afin qu'elles puissent être corrigées avant la suppression de l'ancienne version.
Exemple
const AxeBuilder = require('@axe-devtools/playwright').default
const playwright = require('playwright')
;(async () => {
const browser = await playwright.chromium.launch()
const context = await browser.newContext()
const page = await context.newPage()
await page.goto('https://dequeuniversity.com/demo/mars/')
try {
const results = await new AxeBuilder({ page }).setLegacyMode().analyze();
console.log(results)
} catch (e) {
// do something with the error
}
await browser.close()
})()