Manejo de errores en Playwright
Cómo sortear errores que pueden ocurrir con axe DevTools for Web para Playwright
La versión 4.3.0 y superiores de axe DevTools para integraciones web utilizan una nueva técnica al llamar AxeBuilder.analyze()
que abre una nueva ventana al final de una ejecución. Muchas de las cuestiones descritas en este documento abordan problemas comunes con esta técnica y sus posibles soluciones.
Tener bloqueadores de ventanas emergentes habilitados
Los bloqueadores de ventanas emergentes nos impiden abrir la nueva ventana cuando llamamos AxeBuilder.analyze()
. La configuración predeterminada para la mayoría de las bibliotecas de pruebas de automatización debería permitir ventanas emergentes. Asegúrese de no habilitar explícitamente los bloqueadores de ventanas emergentes que pueden causar un problema al ejecutar las pruebas.
AxeBuilder.setLegacyMode(legacy: boolean)
Si por alguna razón no puede ejecutar la nueva técnica AxeBuilder.analyze
sin errores, axe proporciona un nuevo método encadenable que le permite ejecutar la versión heredada de AxeBuilder.analyze
. Al utilizar este método, axe excluye los problemas de accesibilidad que pueden ocurrir en marcos e iframes entre dominios.
AxeBuilder.setLegacyMode
está obsoleto y se eliminará en la versión v5.0. Informe cualquier error que pueda tener durante la ejecución AxeBuilder.analyze
para que puedan solucionarse antes de que se elimine la versión heredada.
Ejemplo
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()
})()