AxeWatcher-Klasse
Die Hauptklasse zur Integration von Axe-Accessibility-Tests in Selenium-Java-Test-Suites (verwenden Sie AxeWatcherPlaywright für Playwright)
Die AxeWatcher-Klasse ist die Kernkomponente der Axe Watcher Selenium Java-Integration, die es Ihnen ermöglicht, Ihren bestehenden End-to-End-Test-Suites unkompliziert Barrierefreiheitstests hinzuzufügen. Diese Klasse bietet Methoden zur Konfiguration von Browser-Optionen und zur Einbindung von WebDriver-Instanzen, um Barrierefreiheitsanalysen während der automatisierten Tests zu ermöglichen.
configure() und wrapDriver() bieten jeweils eine Überladung pro Browser an: Übergeben Sie ChromeOptions und ChromeDriver, um in Chrome for Testing oder Chromium zu testen, oder EdgeOptions und EdgeDriver, um in Microsoft Edge zu testen. Microsoft Edge erfordert Watcher 4.5.1 oder höher und Selenium 4 oder höher.
Wenn Axe Watcher in Ihr Test-Framework integriert ist:
- Analysiert Webseiten automatisch auf Barrierefreiheitsprobleme, wenn Tests ausgeführt werden
- Analysiert Seiten bei Erkennung von DOM-Änderungen erneut
- Verknüpft Git-Commits mit den Barrierefreiheits-Ergebnissen
- Sendet die Ergebnisse der Barrierefreiheitstests an Axe Developer Hub zur Nachverfolgung und Analyse
Konstruktor
AxeWatcher(AxeWatcherOptions options)
Erstellt eine neue Instanz von AxeWatcher mit den angegebenen Optionen.
Parameter:
options- Die Konfigurationsoptionen für Axe Watcher
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("your-api-key-here")
.setProjectId("your-project-ID-here")
.setServerUrl("https://axe.deque.com");
AxeWatcher watcher = new AxeWatcher(options);Methoden
configure(ChromeOptions chromeOptions)
Konfiguriert ChromeOptions, um Barrierefreiheitstests mit Axe Watcher zu ermöglichen.
Diese Methode muss vor der Erstellung einer ChromeDriver-Instanz aufgerufen werden.
Parameter:
chromeOptions- Die vorhandeneChromeOptions-Instanz zur Konfiguration
Rückgaben:
- Eine neue
ChromeOptions-Instanz mit angewendeter Axe Watcher-Konfiguration
Ausnahme:
IllegalArgumentException- Falls der Headless- oder Inkognito-Modus aktiviert ist (Axe Watcher unterstützt diese Modi nicht)
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
// Add any additional Chrome options here
ChromeOptions configuredOptions = watcher.configure(chromeOptions);
// Now create ChromeDriver with the configured options
ChromeDriver driver = new ChromeDriver(configuredOptions);configure(EdgeOptions edgeOptions)
Konfiguriert EdgeOptions, um Barrierefreiheitstests mit Axe Watcher in Microsoft Edge zu ermöglichen.
Diese Methode muss aufgerufen werden, bevor eine EdgeDriver-Instanz erstellt wird. Microsoft Edge erfordert Selenium 4 oder höher.
Parameter:
edgeOptions- Die vorhandeneEdgeOptions-Instanz zur Konfiguration
Rückgaben:
- Eine neue
EdgeOptions-Instanz mit angewendeter Axe Watcher-Konfiguration. Nur die Befehlszeilenargumente und der Binärpfad werden von der übergebenen Instanz übernommen, stellen Sie also sicher, dass Sie alle anderen Funktionen auf der zurückgegebenen Instanz einstellen, bevor Sie dieEdgeDriverkonstruieren.
Ausnahme:
IllegalArgumentException- Falls der Headless- oder Inkognito-Modus aktiviert ist (Axe Watcher unterstützt diese Modi nicht)IllegalStateException- Wenn Ihr Projekt eine ältere Version vonselenium-javaals 4 verwendet. Selenium 3'sEdgeOptionszielt auf den veralteten EdgeHTML-Browser ab, der von Axe Watcher nicht unterstützt wird.
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = new EdgeOptions();
// configure() carries over the arguments and the binary path set here;
// set any other capabilities on the returned instance instead
edgeOptions.addArguments("--window-size=1280,720");
EdgeOptions configuredOptions = watcher.configure(edgeOptions);
// Now create EdgeDriver with the configured options
EdgeDriver driver = new EdgeDriver(configuredOptions);wrapDriver(ChromeDriver chromeDriver)
Verpackt eine ChromeDriver-Instanz, um die Funktionalität für Barrierefreiheitstests zu aktivieren.
Diese Methode muss aufgerufen werden, nachdem configure() zur Einrichtung von ChromeDriver verwendet wurde.
Parameter:
chromeDriver- DieChromeDriver-Instanz, die umhüllt werden soll
Rückgaben:
- Eine umhüllte
WebDriver-Instanz mit aktivierter Funktionalität für Barrierefreiheitstests
Ausnahme:
RuntimeException- Wennconfigure()vor dieser Methode nicht aufgerufen wurde
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = watcher.configure(new ChromeOptions());
ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
// Wrap the ChromeDriver
WebDriver driver = watcher.wrapDriver(chromeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");wrapDriver(EdgeDriver edgeDriver)
Umschließt eine EdgeDriver-Instanz, um die Funktionalität für Barrierefreiheitstests zu aktivieren.
Diese Methode muss aufgerufen werden, nachdem configure() zur Einrichtung von EdgeDriver verwendet wurde.
Parameter:
edgeDriver- DieEdgeDriver-Instanz, die umhüllt werden soll
Rückgaben:
- Eine umhüllte
WebDriver-Instanz mit aktivierter Funktionalität für Barrierefreiheitstests
Ausnahme:
RuntimeException- Wennconfigure()vor dieser Methode nicht aufgerufen wurde
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = watcher.configure(new EdgeOptions());
EdgeDriver edgeDriver = new EdgeDriver(edgeOptions);
// Wrap the EdgeDriver
WebDriver driver = watcher.wrapDriver(edgeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");enableDebugLogger()
Aktiviert das Debug-Logging für Axe Watcher-Operationen. Dies kann bei der Fehlersuche während der Testentwicklung nützlich sein.
Rückgaben:
- Die aktuelle
AxeWatcher-Instanz für Method-Chaining
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Hinweise und Einschränkungen
- Axe Watcher unterstützt keinen vollständigen Headless-Modus. Verwenden Sie
--headless=newstatt--headless, wenn Sie einen Headless-Betrieb benötigen. - Axe Watcher unterstützt den Inkognito-Modus nicht.
- Sie müssen
configure()aufrufen, bevor Sie eineChromeDriver- oderEdgeDriver-Instanz erstellen. - Sie müssen
wrapDriver()aufrufen, nachdem Sie dieChromeDriver- oderEdgeDriver-Instanz erstellt haben. - Microsoft Edge erfordert Watcher 4.5.1 oder höher und Selenium 4 oder höher. Der Chrome-Pfad (
ChromeOptions/ChromeDriver, verwendet mit Chrome for Testing oder Chromium) wird ab Selenium 3.141.59 unterstützt. - Rufen Sie
flush()auf dem umhüllten Treiber vonaxeWatcher()in Ihrem Test-Teardown auf, um sicherzustellen, dass alle Ergebnisse an Axe Developer Hub gesendet werden.
