Tratamento de Erros em Python no Axe DevTools para Web
Explica como funciona o tratamento de erros no Axe DevTools para Web com Python
Como lidar com erros causados pelo Axe DevTools Python 4.3
A versão 4.3.0 e superiores das integrações do Axe DevTools usam uma nova técnica ao chamar Axe.analyze(), que abre uma nova janela ao final de uma execução. Muitos dos problemas descritos neste documento tratam de questões comuns com essa 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 a sua instalação local do geckodriver ou chromedriver esteja atualizada.
Uma mensagem de erro de 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: undefinedBloqueadores de Pop-up Ativados
Bloqueadores de pop-up nos impedem de abrir a nova janela ao chamar Axe.analyze(). A configuração padrão para a maioria das bibliotecas de testes de automação deve permitir pop-ups. Certifique-se de não ativar bloqueadores de pop-up explicitamente, o que pode causar um problema durante a execução dos testes.
Axe.set_legacy_mode()
Se você não conseguir executar a nova técnica Axe.analyze() sem erros, o axe fornece um novo método encadeável para executar a versão legada de Axe.analyze(). Ao usar este método, o axe exclui problemas de acessibilidade que podem ocorrer em frames e iframes de domínios cruzados.
Axe.set_legacy_mode() está obsoleto e será removido na versão 5.0. Por favor, relate quaisquer erros que você possa encontrar ao executar Axe.analyze() para que possam ser corrigidos antes que a versão legada seja removida.
Exemplo
from axe_devtools_api import Axe
driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()