4.3 Tratamento de Erros

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

Como contornar erros que você pode receber ao usar o Axe DevTools para Web para WebdriverIO

Not for use with personal data

A versão 4.3.0 e superiores das integrações do Axe DevTools usam uma nova técnica ao chamar AxeDevToolsWebdriverIO.analyze(), que abre uma nova janela no final de uma execução. Muitos dos problemas descritos neste documento abordam questões comuns com esta técnica e suas possíveis soluções.

Driver Desatualizado

Um problema comum é ter um driver desatualizado. Para resolver esse problema, certifique-se de que sua instalação local do geckodriver ou do chromedriver esteja atualizada.

Uma mensagem de erro exemplo para este problema incluirá uma mensagem sobre switchToWindow.

Exemplo

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

Bloqueadores de Pop-up Ativados

Bloqueadores de pop-up nos impedem de abrir a nova janela ao chamar AxeDevToolsWebdriverIO.analyze(). A configuração padrão para a maioria das bibliotecas de testes automatizados deve permitir pop-ups. Por favor, certifique-se de não habilitar bloqueadores de pop-up explicitamente, o que pode causar um problema durante a execução dos testes.

AxeDevToolsWebdriverIO.setLegacyMode(legacy: boolean)

Se por algum motivo você não conseguir executar a nova técnica AxeDevToolsWebdriverIO.analyze sem erros, o axe fornece um novo método encadeável que permite executar a versão legada de AxeDevToolsWebdriverIO.analyze. Ao usar este método, o axe exclui problemas de acessibilidade que podem ocorrer em frames e iframes de domínio cruzado.

note

AxeDevToolsWebdriverIO.setLegacyMode está obsoleto e será removido na versão 5.0. Por favor, reporte quaisquer erros que você possa ter ao executar AxeDevToolsWebdriverIO.analyze para que possam ser corrigidos antes que a versão legada seja removida.

Exemplo

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