Ruby-Fehlerbehandlung
So umgehen Sie Fehler, die durch axe DevTools Ruby 4.3 verursacht werden
Version 4.3.0 und höher der axe DevTools-Integrationen verwenden bei der Analyse einer Seite eine neue Technik, 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.
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 Beispielfehlermeldung für dieses Problem enthält eine Meldung über switchToWindow
. Zum 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 beim Analysieren einer Seite ein neues Fenster öffnen. 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.
Axe::Configuration.legacy_mode
Wenn Sie eine Seite aus irgendeinem Grund nicht ohne Fehler analysieren können, bietet axe eine neue verkettbare Methode, mit der Sie das Legacy-Verfahren 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.
Axe::Configuration.legacy_mode
ist veraltet und wird in v5.0 entfernt. Bitte melden Sie alle Fehler, die bei der Analyse einer Seite auftreten, damit diese behoben werden können, bevor die alte Version entfernt wird.
Beispiel
require "axe/core"
def analyze_page
...
end
def open_page
...
end
webdriver = open_page
Axe::Configuration.instance.legacy_mode = true
results = analyze_page