Solução de Problemas em Java
Solução de problemas comuns encontrados ao usar o Axe DevTools for Web para Java
Como contornar erros causados pelo Axe DevTools Java 4.3 e posterior. Para informações sobre como solucionar problemas na integração do Java Playwright, veja Solução de Problemas do Java Playwright.
A versão 4.3.0 e superiores das integrações do Axe DevTools usam uma nova técnica ao chamar AxeSelenium.run, que abre uma nova janela no final de uma execução. Muitos dos problemas descritos neste documento abordam problemas comuns com essa técnica e suas potenciais soluções.
Driver Desatualizado
Um problema comum é ter um driver desatualizado. Para resolver este problema, certifique-se de que sua instalação local do geckodriver ou chromedriver esteja atualizada.
Uma mensagem de erro de exemplo para este problema incluirá uma mensagem sobre switchToWindow.
Por exemplo, veja o seguinte:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedBloqueadores de Pop-up Ativados
Bloqueadores de pop-up impedem a abertura de novas janelas ao chamar AxeSelenium::run. 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 ativar explicitamente bloqueadores de pop-up, o que pode causar problemas durante a execução dos testes.
AxeBuilder::setLegacyMode(boolean legacy)
Se, por alguma razão, você não consegue executar a nova técnica AxeSelenium::run sem erros, axe fornece um novo método encadeável que permite executar a versão legada de AxeSelenium::run. Ao usar esse método, axe exclui problemas de acessibilidade que possam ocorrer em frames e iframes entre domínios.
AxeBuilder::setLegacyMode está obsoleto e será removido na versão 5.0. Por favor, relate qualquer erro que você tenha ao executar AxeSelenium::run para que possam ser corrigidos antes que a versão legada seja removida.
Exemplo
import com.deque.html.axedevtools.selenium.AxeSelenium;
import com.deque.html.axedevtools.selenium.AxeDriver;
import com.deque.html.axecore.selenium.AxeBuilder;
public class Main {
public static void main(String[] args) {
var webDriver = ...; // open wbdriver and go to your test page
var axeDriver = new AxeDriver(webDriver);
var results = new AxeSelenium(new AxeBuilder().setLegacyMode())
.run(axeDriver);
}
}