Anweisungen für Java und Playwright
Konfigurieren Ihrer Tests mit Java und Playwright
-
Fügen Sie eine neue Abhängigkeit für das Java Watcher-Paket in den
pom.xml-Abhängigkeitsbereich (für Maven) ein (das Java Watcher-Paket ist auf Maven Central verfügbar):<dependencies> <!-- Add this dependency: --> <dependency> <groupId>com.deque.axe_core</groupId> <artifactId>watcher</artifactId> <version>4.4.0</version> <!-- Update this as needed --> </dependency> </dependencies> -
Fügen Sie Importe für den Java Watcher in Ihren Testcode ein:
import com.deque.axe_core.commons.AxeWatcherOptions; import com.deque.axe_core.playwright.AxeWatcherPlaywright; import com.deque.axe_core.playwright.AxeWatcherPage; -
Fügen Sie Setup-Code für den Java Watcher hinzu, einschließlich Ihres persönlichen API-Schlüssels und der Projekt-ID (beides zur Sicherheit und Flexibilität in der Umgebung gespeichert):
AxeWatcherOptions options = new AxeWatcherOptions() .setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) .setProjectId(System.getenv("PROJECT_ID")); // Optional: uncomment and set SERVER_URL if using a regional, private cloud, or on-premises instance: // options.setServerUrl(System.getenv("SERVER_URL")); AxeWatcherPlaywright watcher = new AxeWatcherPlaywright(options); BrowserType.LaunchPersistentContextOptions launchOptions = watcher.configure(new BrowserType.LaunchPersistentContextOptions()); // Watcher requires a persistent context. You must set headless explicitly on Playwright 1.49+: launchOptions.setHeadless(false); BrowserContext context = browserType.launchPersistentContext(userDataDir, launchOptions); AxeWatcherPage page = watcher.wrapPage(context.newPage());importantWatcher erfordert einen Playwright-persistenter Kontext. Es ist nicht mit nicht-persistenten
Browser-Starts kompatibel. In Playwright Java 1.49 oder später müssen Sie auch explizitsetHeadless(false)aufrufen (odersetHeadless(true)mitsetChannel("chrome")odersetChannel("chromium")). Der Standardmoduschromium-headless-shellwird nicht unterstützt.Dieses Codebeispiel erstellt eine
AxeWatcherPage-Instanz, die Ihren Playwright-Pagemit aktivierter Barrierefreiheitstestung umschließt.Um einen Screenshot zu erfassen, wann immer Verstöße gefunden werden, fügen Sie
.setTakeScreenshots(true)zu IhremAxeWatcherOptionshinzu. Um auch Screenshots lokal zu speichern, verketten Sie.setScreenshotDir("./axe-screenshots"). Siehe Verletzungs-Screenshots erfassen für weitere Informationen.Stellen Sie sicher, dass Sie
ACCESSIBILITY_API_KEYundPROJECT_IDin Ihrer Umgebung auf Ihren persönlichen API-Schlüssel (zu finden in Ihrem Axe-Konto, im **API-SCHLÜSSEL**-Tab) und Ihre Projekt-ID (angezeigt am oberen Rand dieser Anweisungen, als Sie Ihr Projekt erstellt haben, oder verfügbar auf der Seite „Projekte“ durch Auswahl von **Projekt konfigurieren** unter **Einstellungen**) setzen. Wenn Ihre Organisation eine regionale, private Cloud oder eine lokale Axe Developer Hub-Instanz verwendet, setzen Sie auchSERVER_URLauf die Basis-URL dieser Instanz (zum Beispielhttps://axe-eu.deque.com); andernfalls lassen SieSERVER_URLweg und der Standardhttps://axe.deque.comwird verwendet. -
Rufen Sie am Ende Ihrer Testsitzung
flush()auf:page.axeWatcher().flush();Der Aufruf von
flush()zeigt an, dass der Testrun abgeschlossen ist und die Ergebnisse verarbeitet und dem Benutzer präsentiert werden können.Um Verstöße bestimmten Tests zuzuordnen, rufen Sie
setTestContext()vor Ihrer Testlogik auf:page.axeWatcher().setTestContext( "src/test/java/com/acme/LoginTest.java", java.util.Arrays.asList("LoginTest", "rejects bad password") );Siehe Verstöße Tests zuordnen für weitere Informationen.
