Manipulação de Erros no Playwright
Como contornar erros que podem ocorrer com o Axe DevTools for Web para Playwright
A versão 4.3.0 e superiores das integrações Axe DevTools for Web usam uma nova técnica ao chamar AxeBuilder.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-ups habilitados
Os bloqueadores de pop-ups nos impedem de abrir a nova janela ao chamar AxeBuilder.analyze(). A configuração padrão para a maioria das bibliotecas de teste de automação deve permitir pop-ups. Certifique-se de que você não está habilitando bloqueadores de pop-ups explicitamente, o que pode causar um problema ao executar os testes.
AxeBuilder.setLegacyMode(legacy: boolean)
Se por algum motivo você não conseguir executar a nova técnica AxeBuilder.analyze sem erros, o axe fornece um novo método encadeável que permite executar a versão legada de AxeBuilder.analyze. Ao usar este método, o axe exclui problemas de acessibilidade que podem ocorrer em frames e iframes entre domínios.
AxeBuilder.setLegacyMode está obsoleto e será removido na versão 5.0. Por favor, reporte quaisquer erros que você possa ter ao executar AxeBuilder.analyze para que possam ser corrigidos antes que a versão legada seja removida.
Exemplo
const { AxeDevToolsBuilder } = require('@axe-devtools/playwright')
const playwright = require('playwright')
;(async () => {
const browser = await playwright.chromium.launch()
const context = await browser.newContext()
const page = await context.newPage()
await page.goto('https://dequeuniversity.com/demo/mars/')
try {
const results = await new AxeDevToolsBuilder({ page }).setLegacyMode().analyze();
console.log(results)
} catch (e) {
// do something with the error
}
await browser.close()
})()