Ruby-Fehlerbehandlung
Fehlerbehebung bei häufig auftretenden Fehlern bei der Verwendung von Axe DevTools for Web für Ruby
Wie man Fehler behebt, die durch Axe DevTools Ruby 4.3 verursacht werden
Version 4.3.0 und höher der Axe DevTools-Integrationen verwenden eine neue Technik bei der Analyse einer Seite, die am Ende eines Durchlaufs ein neues Fenster öffnet. Viele der in diesem Dokument beschriebenen Probleme betreffen 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 Beispiel-Fehlermeldung für dieses Problem wird eine Nachricht über switchToWindow enthalten. Zum Beispiel:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedAktivierte Popup-Blocker
Popup-Blocker verhindern, dass ein neues Fenster beim Analysieren einer Seite geöffnet wird. Die Standardkonfiguration der meisten Automatisierungstestbibliotheken sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Popup-Blocker nicht explizit aktiviert haben, da dies bei der Durchführung der Tests zu Problemen führen kann.
Axe::Configuration.legacy_mode
Wenn Sie aus irgendeinem Grund eine Seite nicht ohne Fehler analysieren können, bietet axe eine neue kaskadierbare Methode, mit der Sie das alte Verfahren ausführen können. Bei der Verwendung dieser Methode schließt axe Barrierefreiheitsprobleme aus, die in bereichsübergreifenden Frameworks und iframes auftreten können.
Axe::Configuration.legacy_mode ist veraltet und wird in Version 5.0 entfernt. Bitte melden Sie alle Fehler, die bei der Analyse einer Seite auftreten können, damit sie 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