Manejo de errores en 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

Cómo sortear errores comunes detectados en axe DevTools for Web para Puppeteer

Not for use with personal data

La versión 4.3.0 y superiores de axe DevTools para integraciones web utilizan una nueva técnica al llamar AxeDevToolsPuppeteer.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 al llamar AxeDevToolsPuppeteer.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.

AxeDevToolsPuppeteer.setLegacyMode(legacy: boolean)

Si por alguna razón no puede ejecutar la nueva AxeDevToolsPuppeteer.analyze técnica sin errores, axe proporciona un nuevo método encadenable que le permite ejecutar la versión heredada de AxeDevToolsPuppeteer.analyze. Al utilizar este método, axe excluye los problemas de accesibilidad que pueden ocurrir en marcos e iframes entre dominios.

note

AxeDevToolsPuppeteer.setLegacyMode está obsoleto y se eliminará en la versión v5.0. Informe cualquier error que pueda tener durante la ejecución AxeDevToolsPuppeteer.analyze para que puedan solucionarse antes de que se elimine la versión heredada.

Ejemplo

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();
})();