Java-Fehlerbehebung

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

Fehlerbehebung bei häufigen Fehlern, die bei der Verwendung von Axe DevTools for Web für Java auftreten

Not for use with personal data

Wie man Fehler umgeht, die durch Axe DevTools Java 4.3 und später verursacht werden. Informationen zur Fehlerbehebung für die Java-Playwright-Integration finden Sie unter Java-Playwright-Fehlerbehebung.

Version 4.3.0 und höher der Axe DevTools-Integrationen verwendet eine neue Technik beim Aufrufen von AxeSelenium.run, die am Ende eines Laufs ein neues Fenster öffnet. Viele der in diesem Dokument beschriebenen Probleme behandeln häufige 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 Beispiel-Fehlermeldung für dieses Problem wird eine Nachricht über switchToWindow enthalten.

Beispielsweise siehe folgendes:

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

Popup-Blocker verhindern das Öffnen des neuen Fensters beim Aufruf von AxeSelenium::run. Die Standardeinstellung der meisten Automatisierungs-Testbibliotheken sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Popup-Blocker nicht explizit aktivieren, da dies beim Testen Probleme verursachen könnte.

AxeBuilder::setLegacyMode(boolean legacy)

Falls Sie aus irgendeinem Grund die neue AxeSelenium::run-Technik nicht fehlerfrei ausführen können, bietet Axe eine neue kaskadierbare Methode, die es Ihnen ermöglicht, die Legacy-Version von AxeSelenium::run auszuführen. Bei Verwendung dieser Methode schließt Axe Zugänglichkeitsprobleme aus, die in cross-domain frames und iframes auftreten könnten.

note

AxeBuilder::setLegacyMode ist veraltet und wird in v5.0 entfernt. Bitte melden Sie alle Fehler, die beim Ausführen von AxeSelenium::run auftreten können, damit diese behoben werden können, bevor die Legacy-Version entfernt wird.

Beispiel

import com.deque.html.axedevtools.selenium.AxeSelenium;
import com.deque.html.axedevtools.selenium.AxeDriver;
import com.deque.html.axecore.selenium.AxeBuilder;

public class Main {
    public static void main(String[] args) {
        var webDriver = ...; // open wbdriver and go to your test page
        var axeDriver = new AxeDriver(webDriver);
        var results = new AxeSelenium(new AxeBuilder().setLegacyMode())
            .run(axeDriver);
    }
}