Manejo de Errores en Playwright
Cómo solucionar errores que podrían ocurrir con Axe DevTools para Web para Playwright
La versión 4.3.0 y superiores de las integraciones de Axe DevTools para Web utilizan una nueva técnica al llamar a AxeBuilder.analyze(), la cual abre una nueva ventana al final de una ejecución. Muchos de los problemas descritos en este documento abordan problemas comunes con esta técnica y sus posibles soluciones.
Tener bloqueadores de ventanas emergentes activados
Los bloqueadores de ventanas emergentes nos impiden abrir la nueva ventana al llamar a AxeBuilder.analyze(). La configuración predeterminada de la mayoría de las bibliotecas de pruebas automatizadas debería permitir ventanas emergentes. Por favor, asegúrate de no activar explícitamente bloqueadores de ventanas emergentes que puedan causar un problema al ejecutar las pruebas.
AxeBuilder.setLegacyMode(legacy: boolean)
Si por alguna razón no puedes ejecutar la nueva técnica AxeBuilder.analyze sin errores, axe proporciona un nuevo método encadenable que te permite ejecutar la versión antigua de AxeBuilder.analyze. Al usar este método, axe excluye los problemas de accesibilidad que pueden ocurrir en marcos y iframes de dominio cruzado.
AxeBuilder.setLegacyMode está obsoleto y será eliminado en la versión 5.0. Por favor, informa cualquier error que puedas tener al ejecutar AxeBuilder.analyze para que puedan ser corregidos antes de que se elimine la versión antigua.
Ejemplo
const { AxeDevToolsBuilder } = require('@axe-devtools/playwright')
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 AxeDevToolsBuilder({ page }).setLegacyMode().analyze();
console.log(results)
} catch (e) {
// do something with the error
}
await browser.close()
})()