Java Playwright Fehlerbehebung
Fehlerbehebung bei üblichen Fehlern in der Axe DevTools für Web Java Playwright-Integration
Dieses Dokument beschreibt Probleme, die bei der Verwendung der Java Playwright-Integration auftreten können. Für Fehlerbehebungstipps zu anderen Java-Integrationen siehe Java Fehlerbehebung
Ab Version 4.3.0 verwenden die axe-core-Integrationen eine neue Technik beim Aufruf von AxePlaywrightBuilder.analyze(), die am Ende eines Laufs ein neues Fenster öffnet. Viele der in diesem Dokument beschriebenen Probleme betreffen häufige Schwierigkeiten mit dieser Technik und deren möglichen Lösungen.
Aktivierte Popup-Blocker
Popup-Blocker verhindern das Öffnen des neuen Fensters beim Aufruf von AxePlaywrightBuilder.analyze(). Die Standardkonfiguration der meisten Automatisierungstest-Bibliotheken sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Pop-up-Blocker nicht explizit aktivieren, da dies beim Ausführen der Tests zu Problemen führen kann.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Falls Sie aus irgendeinem Grund die neue AxePlaywrightBuilder.analyze-Technik nicht fehlerfrei ausführen können, bietet axe eine neue kaskadierbare Methode an, die es Ihnen ermöglicht, die Legacy-Version von AxePlaywrightBuilder.analyze auszuführen. Bei Verwendung dieser Methode schließt axe Zugänglichkeitsprobleme aus, die in cross-domain frames und iframes auftreten können.
AxePlaywrightBuilder.setLegacyMode ist veraltet und wird in Version 5.0 entfernt. Bitte melden Sie alle Fehler, die Sie beim Ausführen von AxePlaywrightBuilder.analyze haben, damit sie behoben werden können, bevor die Legacy-Version entfernt wird.
Beispiel
Das folgende Beispiel zeigt ein vollständiges Beispiel für die Verwendung der Java Playwright-Integration:
import com.deque.axecore.playwright.AxePlaywrightBuilder;
import com.deque.axecore.utility.axeresults.AxeResults;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
import org.junit.Test;
public class MyPlaywrightTestSuite {
@Test
public void testMyWebPage() {
Playwright playwright = Playwright.create();
Browser browser = playwright.chromium()
.launch(new BrowserType.LaunchOptions().setHeadless(true));
Page page = browser.newPage();
page.navigate("https://dequeuniversity.com/demo/mars/");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
// Set legacyMode
.setLegacyMode(true);
try {
AxeResults axeResults = axePlaywrightBuilder.analyze();
System.out.println(axeResults.getViolations());
} catch (RuntimeException e) {
// Do something with the error
}
}
}