4.3 Manejo de Errores

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 solucionar los errores que podrías recibir al usar Axe DevTools for Web con WebdriverIO

Not for use with personal data

La versión 4.3.0 y posteriores de las integraciones de Axe DevTools utilizan una nueva técnica al llamar a AxeDevToolsWebdriverIO.analyze(), que 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 un controlador desactualizado

Un problema común es tener un controlador desactualizado. Para solucionar este problema, asegúrate de que la instalación local de geckodriver o chromedriver esté actualizada.

Un mensaje de error de ejemplo para este problema incluirá un mensaje sobre switchToWindow.

Ejemplo

(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined

Tener habilitadores de ventanas emergentes activos

Los habilitadores de ventanas emergentes nos impiden abrir la nueva ventana al llamar a AxeDevToolsWebdriverIO.analyze(). La configuración predeterminada para la mayoría de las bibliotecas de pruebas automatizadas debería permitir las ventanas emergentes. Por favor, asegúrate de no habilitar explícitamente los bloqueadores de ventanas emergentes, ya que pueden causar problemas al ejecutar las pruebas.

AxeDevToolsWebdriverIO.setLegacyMode(legacy: boolean)

Si por alguna razón no puedes ejecutar la nueva técnica de AxeDevToolsWebdriverIO.analyze sin errores, axe proporciona un nuevo método encadenable que te permite ejecutar la versión heredada de AxeDevToolsWebdriverIO.analyze. Al usar este método, axe excluye los problemas de accesibilidad que pueden ocurrir en marcos y iframes de dominios cruzados.

note

AxeDevToolsWebdriverIO.setLegacyMode está en desuso y se eliminará en la versión 5.0. Por favor, informa cualquier error que puedas tener al ejecutar AxeDevToolsWebdriverIO.analyze para que puedan ser solucionados antes de que se elimine la versión heredada.

Ejemplo

const { AxeDevToolsWebdriverIO } = require('@axe-devtools/webdriverio');
const { remote } = require('webdriverio');

(async () => {
  const client = await remote({
    logLevel: 'error',
    capabilities: {
      browserName: 'chrome'
    }
  });

  await client.url('https://dequeuniversity.com/demo/mars/');

  const builder = new AxeDevToolsWebdriverIO({ client });
  try {
    const results = await builder
      .setLegacyMode()
      .analyze();
    console.log(results);
  } catch (e) {
    // do something with the error
  }
  await client.deleteSession();
})();