Fehlerbehandlung in Playwright
So umgehen Sie Fehler, die mit axe DevTools for Web for Playwright auftreten können
Ab Version 4.3.0 der axe DevTools für Webintegrationen wird beim Aufruf eine neue Technik verwendet, AxeBuilder.analyze()
die am Ende eines Laufs ein neues Fenster öffnet. Viele der in diesem Dokument beschriebenen Probleme betreffen allgemeine Probleme mit dieser Technik und ihre möglichen Lösungen.
Aktivierte Popup-Blocker
Popupblocker verhindern, dass wir ein neues Fenster beim Aufruf AxeBuilder.analyze()
öffnen können. Die Standardkonfiguration für die meisten Bibliotheken für automatisierte Tests sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Popup-Blocker nicht explizit aktivieren, da dies beim Ausführen der Tests zu Problemen führen könnte.
AxeBuilder.setLegacyMode(legacy: boolean)
Wenn Sie die neue AxeBuilder.analyze
Technik aus irgendeinem Grund nicht ohne Fehler ausführen können, bietet axe eine neue verkettbare Methode, mit der Sie die Legacy-Version ausführen können AxeBuilder.analyze
. Bei Verwendung dieser Methode schließt axe Zugänglichkeitsprobleme aus, die in domänenübergreifenden Frames und Iframes auftreten können.
AxeBuilder.setLegacyMode
ist veraltet und wird in v5.0 entfernt. Bitte melden Sie etwaige Fehler, die beim Ausführen AxeBuilder.analyze
auftreten, damit diese behoben werden können, bevor die Legacy-Version entfernt wird.
Beispiel
const AxeBuilder = require('@axe-devtools/playwright').default
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 AxeBuilder({ page }).setLegacyMode().analyze();
console.log(results)
} catch (e) {
// do something with the error
}
await browser.close()
})()