Tratamento de Erros em Ruby
Resolução de problemas comuns encontrados ao usar o Axe DevTools para Web com Ruby
Como contornar erros causados pelo Axe DevTools Ruby 4.3
A versão 4.3.0 e superior das integrações do Axe DevTools utiliza uma nova técnica ao analisar uma página, que abre uma nova janela ao final de uma execução. Muitos dos problemas descritos neste documento abordam problemas comuns com essa técnica e suas possíveis soluções.
Driver Desatualizado
Um problema comum é ter um driver desatualizado. Para corrigir esse problema, certifique-se de que sua instalação local do geckodriver ou chromedriver está atualizada.
Uma mensagem de erro de exemplo para esse problema incluirá uma mensagem sobre switchToWindow. Por exemplo:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedBloqueadores de Pop-up Ativados
Bloqueadores de pop-up nos impedem de abrir uma nova janela ao analisar uma página. A configuração padrão para a maioria das bibliotecas de testes de automação deve permitir pop-ups. Por favor, certifique-se de não habilitar bloqueadores de pop-up explicitamente, pois isso pode causar problemas ao executar os testes.
Axe::Configuration.legacy_mode
Se por algum motivo você não conseguir analisar uma página sem erros, o axe fornece um novo método encadeável que permite executar o procedimento legado. Ao usar este método, o axe exclui problemas de acessibilidade que podem ocorrer em frames e iframes de domínio cruzado.
Axe::Configuration.legacy_mode está obsoleto e será removido na versão 5.0. Por favor, reporte quaisquer erros que você possa ter ao analisar uma página para que eles possam ser corrigidos antes que a versão legada seja removida.
Exemplo
require "axe/core"
def analyze_page
...
end
def open_page
...
end
webdriver = open_page
Axe::Configuration.instance.legacy_mode = true
results = analyze_page