Foutafhandeling in Playwright
Hoe om te gaan met fouten die kunnen optreden met Axe DevTools voor Web voor Playwright
Versie 4.3.0 en hoger van de Axe DevTools voor Web integraties gebruiken een nieuwe techniek bij het aanroepen van AxeBuilder.analyze() die aan het einde van een uitvoering een nieuw venster opent. Veel van de problemen die in dit document worden beschreven, behandelen veelvoorkomende problemen met deze techniek en de mogelijke oplossingen ervoor.
Popupblockers ingeschakeld
Popupblockers voorkomen dat we het nieuwe venster kunnen openen bij het aanroepen van AxeBuilder.analyze(). De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou pop-ups moeten toestaan. Zorg ervoor dat u niet expliciet popupblockers inschakelt, want dit kan problemen veroorzaken bij het uitvoeren van de tests.
AxeBuilder.setLegacyMode(legacy: boolean)
Als u om de een of andere reden de nieuwe AxeBuilder.analyze-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe ketenbare methode waarmee u de oude versie van AxeBuilder.analyze kunt uitvoeren. Bij het gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in domeinoverschrijdende frames en iframes.
AxeBuilder.setLegacyMode is verouderd en zal worden verwijderd in v5.0. Meld alstublieft eventuele fouten die u heeft tijdens het uitvoeren van AxeBuilder.analyze, zodat deze kunnen worden opgelost voordat de oude versie wordt verwijderd.
Voorbeeld
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()
})()