Fehlerbehandlung in Puppeteer
So umgehen Sie häufige Fehler in axe DevTools for Web für Puppeteer
Version 4.3.0 und höher der axe DevTools für Webintegrationen verwenden beim Aufruf eine neue Technik, AxeDevToolsPuppeteer.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 bei uns das Öffnen des neuen Fensters beim Aufruf AxeDevToolsPuppeteer.analyze()
. 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.
AxeDevToolsPuppeteer.setLegacyMode(legacy: boolean)
Wenn Sie die neue AxeDevToolsPuppeteer.analyze
Technik aus irgendeinem Grund nicht ohne Fehler ausführen können, bietet axe eine neue Chainable-Methode, mit der Sie die Legacy-Version von AxeDevToolsPuppeteer.analyze
ausführen können. Bei Verwendung dieser Methode schließt axe Zugänglichkeitsprobleme aus, die in domänenübergreifenden Frames und Iframes auftreten können.
AxeDevToolsPuppeteer.setLegacyMode
ist veraltet und wird in v5.0 entfernt. Bitte melden Sie etwaige Fehler, die beim Ausführen AxeDevToolsPuppeteer.analyze
auftreten, damit diese behoben werden können, bevor die Legacy-Version entfernt wird.
Beispiel
const { AxeDevToolsPuppeteer } = require('@axe-devtools/puppeteer');
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setBypassCSP(true);
await page.goto('https://dequeuniversity.com/demo/mars/');
try {
const results = await new AxeDevToolsPuppeteer(page).setLegacyMode().analyze();
console.log(results);
} catch(err) {
// do something with the error
}
await page.close();
await browser.close();
})();