Gestione degli errori in Playwright
Come risolvere gli errori che possono verificarsi con Axe DevTools per Web per Playwright
La versione 4.3.0 e successive delle integrazioni Axe DevTools per Web utilizzano una nuova tecnica quando si chiama AxeBuilder.analyze(), che apre una nuova finestra alla fine di un'esecuzione. Molti dei problemi descritti in questo documento riguardano problemi comuni con questa tecnica e le loro potenziali soluzioni.
Uso di blocchi popup abilitati
I blocchi popup ci impediscono di aprire la nuova finestra quando si chiama AxeBuilder.analyze(). La configurazione predefinita per la maggior parte delle librerie di test automatici dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup, poiché potrebbero causare problemi durante l'esecuzione dei test.
AxeBuilder.setLegacyMode(legacy: boolean)
Se per qualche motivo non puoi eseguire la nuova tecnica AxeBuilder.analyze senza errori, axe fornisce un nuovo metodo concatenabile che ti consente di eseguire la versione legacy di AxeBuilder.analyze. Usando questo metodo, axe esclude problemi di accessibilità che possono verificarsi nei frame e negli iframe cross-domain.
AxeBuilder.setLegacyMode è deprecato e verrà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che si possono verificare durante l'esecuzione di AxeBuilder.analyze in modo che possano essere risolti prima che la versione legacy venga rimossa.
Esempio
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()
})()