Solução de Problemas em Java

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

Solução de problemas comuns encontrados ao usar o Axe DevTools for Web para Java

Not for use with personal data

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: undefined

Bloqueadores 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.

note

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