Fehlerbehandlung in Axe DevTools für Web mit Python

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Erklärt, wie die Fehlerbehandlung in Axe DevTools für Web mit Python funktioniert

Not for use with personal data

Umgehung von Fehlern, die durch Axe DevTools Python 4.3 verursacht werden

Ab Version 4.3.0 der Axe DevTools-Integrationen wird eine neue Technik verwendet, wenn Axe.analyze() aufgerufen wird, die am Ende eines Durchlaufs ein neues Fenster öffnet. Viele der in diesem Dokument beschriebenen Probleme beziehen sich auf häufige Probleme mit dieser Technik und deren mögliche Lösungen.

Veralteter Treiber

Ein häufiges Problem ist ein veralteter Treiber. Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre lokale Installation von geckodriver oder chromedriver auf dem neuesten Stand ist.

Eine beispielhafte Fehlermeldung für dieses Problem wird eine Nachricht über switchToWindow enthalten.

Beispiel:

(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined

Aktivierte Popup-Blocker

Popup-Blocker verhindern, dass wir das neue Fenster öffnen, wenn Axe.analyze() aufgerufen wird. Die Standardkonfiguration der meisten Automatisierungstestbibliotheken sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Popup-Blocker nicht explizit aktivieren, da dies beim Ausführen der Tests ein Problem verursachen könnte.

Axe.set_legacy_mode()

Wenn Sie die neue Technik von Axe.analyze() nicht fehlerfrei ausführen können, bietet axe eine neue kaskadierbare Methode, um die Legacy-Version von Axe.analyze() auszuführen. Bei Verwendung dieser Methode schließt axe Barrierefreiheitsprobleme aus, die in domainübergreifenden Frames und Iframes auftreten können.

note

Axe.set_legacy_mode() ist veraltet und wird in Version 5.0 entfernt. Bitte melden Sie alle Fehler, die beim Ausführen von Axe.analyze() auftreten, damit sie behoben werden können, bevor die Legacy-Version entfernt wird.

Beispiel

from axe_devtools_api import Axe

driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()