Anweisungen für Java und Playwright
Konfigurieren Ihrer Tests mit Java und Playwright
Axe Watcher erfordert einen unterstützten Browser: Chrome für Testing (eine separate Browser-Installation, die sich von Google Chrome unterscheidet), Chromium oder Microsoft Edge. Playwright und Puppeteer verwalten ihre eigenen Browser-Downloads und installieren stets eine Version, die von Axe Watcher unterstützt wird, sodass Sie nichts selbst installieren müssen. Details finden Sie unter Einrichten und Konfigurieren von Browsern für die Verwendung mit Axe Watcher.
-
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.
