Fügen Sie eine neue Abhängigkeit für das Java Watcher-Paket zu Ihrem pom.xml (für Maven) Abhängigkeitsabschnitt hinzu (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.5.1</version> <!-- Update this as needed -->
</dependency>
</dependencies>Fügen Sie Importe für Java Watcher in Ihren Testcode ein:
import com.deque.axe_core.commons.AxeWatcherOptions;
import com.deque.axe_core.selenium.AxeWatcher;
import com.deque.axe_core.selenium.AxeWatcherDriver;Fügen Sie Setup-Code für Java Watcher hinzu, einschließlich Ihres persönlichen API-Schlüssels und Ihrer Projekt-ID (beide 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"));
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions = watcher.configure(chromeOptions);
WebDriver wrappedDriver = watcher.wrapDriver(new ChromeDriver(chromeOptions));Dieses Code-Snippet erstellt eine neue WebDriver-Instanz namens wrappedDriver, die Sie verwenden müssen, um die Axe-Controller-Methoden zu nutzen.
Um Ihre Tests stattdessen in Microsoft Edge auszuführen, übergeben Sie eine EdgeOptions-Instanz an configure() und eine EdgeDriver-Instanz an wrapDriver() (beide werden aus org.openqa.selenium.edge importiert). Alles andere, einschließlich der Controller-Methoden und flush(), funktioniert auf die gleiche Weise:
AxeWatcherOptions options =
new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
.setProjectId(System.getenv("PROJECT_ID"));
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions = watcher.configure(edgeOptions);
WebDriver wrappedDriver = watcher.wrapDriver(new EdgeDriver(edgeOptions));Die Unterstützung von Microsoft Edge erfordert Watcher 4.5.1 oder neuer sowie Selenium 4 oder neuer. Das EdgeOptions von Selenium 3 zielt auf den veralteten EdgeHTML-Browser ab, den Axe Watcher nicht unterstützt, weshalb ein Aufruf von configure() mit EdgeOptions auf Selenium 3 eine IllegalStateException auslöst. Chrome für Testzwecke und Chromium bleiben auf Selenium 3.141.59 und höher unterstützt.
Stellen Sie sicher, dass Sie ACCESSIBILITY_API_KEY und PROJECT_ID in 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 auch SERVER_URL auf die Basis-URL dieser Instanz (zum Beispiel https://axe-eu.deque.com); andernfalls lassen Sie SERVER_URL weg und der Standard https://axe.deque.com wird verwendet.
Rufen Sie am Ende Ihrer Testsitzung flush() auf:
((AxeWatcherDriver) wrappedDriver).axeWatcher().flush();Der Aufruf von flush() zeigt an, dass der Testlauf abgeschlossen ist und die Ergebnisse verarbeitet und dem Benutzer präsentiert werden können.