Resolução de Problemas do Java Playwright
Resolução de erros comuns na integração Axe DevTools for Web Java Playwright
Este documento descreve problemas que você pode encontrar ao usar a integração Java Playwright. Para dicas de solução de problemas com as outras integrações Java, veja Resolução de Problemas do Java
A versão 4.3.0 e superiores das integrações axe-core utilizam uma nova técnica ao chamar AxePlaywrightBuilder.analyze(), 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.
Bloqueadores de pop-up ativados
Os bloqueadores de pop-up nos impedem de abrir a nova janela ao chamar AxePlaywrightBuilder.analyze(). A configuração padrão da maioria das bibliotecas de teste de automação deve permitir pop-ups. Certifique-se de não ativar explicitamente bloqueadores de pop-up que possam causar problemas durante a execução dos testes.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Se por algum motivo você não conseguir executar a nova técnica de AxePlaywrightBuilder.analyze sem erros, o axe fornece um novo método encadeável que permite executar a versão legada de AxePlaywrightBuilder.analyze. Ao usar este método, o axe exclui problemas de acessibilidade que possam ocorrer em frames e iframes de domínios cruzados.
AxePlaywrightBuilder.setLegacyMode está obsoleto e será removido na versão 5.0. Por favor, relate qualquer erro que ocorrer ao executar AxePlaywrightBuilder.analyze para que possam ser corrigidos antes que a versão legada seja removida.
Exemplo
O exemplo a seguir mostra um exemplo completo de uso da integração Java Playwright:
import com.deque.axecore.playwright.AxePlaywrightBuilder;
import com.deque.axecore.utility.axeresults.AxeResults;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
import org.junit.Test;
public class MyPlaywrightTestSuite {
@Test
public void testMyWebPage() {
Playwright playwright = Playwright.create();
Browser browser = playwright.chromium()
.launch(new BrowserType.LaunchOptions().setHeadless(true));
Page page = browser.newPage();
page.navigate("https://dequeuniversity.com/demo/mars/");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
// Set legacyMode
.setLegacyMode(true);
try {
AxeResults axeResults = axePlaywrightBuilder.analyze();
System.out.println(axeResults.getViolations());
} catch (RuntimeException e) {
// Do something with the error
}
}
}