Watcher-Paket Versionshinweise
Versionshinweise, die die Änderungen im Watcher-Paket ab Version 3.0.0 und später beschreiben
4.3.0 (12. Mai 2026)
- Fehlerbehebungen
- Ein Wettlaufproblem in der Java-Integration wurde behoben, bei dem der Wechsel des Browserkontextes zu einem iframe fälschlicherweise Scans auslöste, was zu zusätzlichen Ergebnissen führte.
- axe-core auf Version 4.11.4 aktualisiert.
4.2.0 (6. April 2026)
-
Funktionen
- Die
git-Option wurde erweitert, um die Bereitstellung expliziter Git-Metadaten zu unterstützen. In JavaScript/TypeScript akzeptiert diegit-Eigenschaft imAxeConfigurationjetzt einGitConfig-Objekt zusätzlich zu einem booleschen Wert. In Java,AxeWatcherOptionsgibt es eine neuesetGitInfo(AxeWatcherGitInfo)-Methode. Wenn einGitConfig- oder einAxeWatcherGitInfo-Objekt bereitgestellt wird, wird die automatische Git-Erkennung übersprungen. Alle Felder sind optional. Dies ist nützlich, wenn Tests in einem von dem zu testenden Repository getrennten Repository durchgeführt werden oder in CI-Umgebungen, in denen die automatische Git-Erkennung unzuverlässig ist. Weitere Informationen finden Sie unter Bereitstellung von Git-Metadaten .
- Die
-
Fehlerbehebungen
- Ein Problem wurde behoben, bei dem der Aufruf von
flush(), während Ergebnisse noch verarbeitet wurden, unvollständige Ergebnisse erzeugen konnte. (JavaScript/TypeScript-Integration) - Ein Problem in der Java/Selenium-Integration wurde behoben, bei dem Ausnahmen von
findElement()nicht korrekt angezeigt wurden, wodurch explizite Wartezeiten sofort fehlschlugen, anstatt darauf zu warten, dass das Element erscheint. - Die Zuverlässigkeit in der Java-Integration wurde verbessert: Watcher versucht jetzt automatisch, die Ergebnisse bis zu dreimal an den Server zu senden, wenn ein vorübergehender Fehler auftritt.
- Ein Problem in der Java-Integration wurde behoben, bei dem das Übergeben von
nullan bestimmte Konfigurations-Settermethoden eine unbehandelte Ausnahme verursachte. Diese Methoden werfen jetzt eineIllegalArgumentExceptionmit einer aussagekräftigen Nachricht.
- Ein Problem wurde behoben, bei dem der Aufruf von
4.1.0 (24. Februar 2026)
-
Funktionen
- Watcher scannt jetzt automatisch alle iframes mit gleicher Herkunft. (Die Cypress-Integration hatte dieses Verhalten bereits.) Dies gilt für die Playwright-, Puppeteer-, WebdriverIO-, WebDriverJS- und Java Selenium-Integrationen.
- Unterstützung für den RGAA v4 (französischer Barrierefreiheitsstandard) hinzugefügt. Setzen Sie
accessibilityStandard: 'RGAAv4'inConfigurationOverrides(JavaScript/TypeScript) oder verwenden SieConfigurationOverrides.AccessibilityStandard.RGAAV4(Java). Erfordert axe-core Version 4.11.0 oder höher. Die globale Konfiguration bestimmt, ob dieser Standard für Ihre Organisation zulässig ist. - Eine
git-Option hinzugefügt, umAxeConfiguration(JavaScript/TypeScript) undAxeWatcherOptions(Java) zu steuern, ob Git-Informationen gesammelt werden. Setzen Siegit: false(JavaScript/TypeScript) oder rufen SiesetGit(false)(Java) auf, um Watcher ohne Sammlung von Git-Daten auszuführen. Standardmäßig isttrue(Git-Infos werden gesammelt). - axe-core auf Version 4.11.1 aktualisiert.
-
Fehlerbehebungen
- Ein Problem in der Java-Integration wurde behoben, bei dem ein benutzerdefinierter Chrome-Binary-Pfad, der über
setBinary()amChromeOptions-Objekt festgelegt wurde, überschrieben wurde, wenn er anconfigure()übergeben wurde.
- Ein Problem in der Java-Integration wurde behoben, bei dem ein benutzerdefinierter Chrome-Binary-Pfad, der über
4.0.0 (3. Dezember 2025)
Watcher 4.0.0 ist eine Hauptversion des Watcher-Pakets.
-
Funktionen
- Proxy-Unterstützung hinzugefügt. Siehe Verwendung von Watcher mit einem Proxy für weitere Informationen. (Die HTTP-Proxy-Implementierung erfordert Node.js Version 20.18.1 oder höher).
- Die Version von axe-core auf 4.11.0 aktualisiert.
- Unterstützung für Node.js Version 24 hinzugefügt.
-
Fehlerbehebungen
- Ein Problem beim Reporting von Git-Informationen bei der Verwendung einer GitLab-Pipeline behoben.
- Verbesserte Fehlermanagement für Chrome-Alternativen wie Chrome für Tests und Chromium.
- Leere Git-Daten korrekt behandelt.
- Alle vom Benutzer bereitgestellten Chrome-Optionen für WebdriverIO einbeziehen.
-
Breaking Changes
-
Watcher (für TypeScript und JavaScript) verwendet jetzt neue Pfade für das Importieren des Pakets. Siehe die Anweisungen für Ihr Browser-Integrationspaket, um aktualisierte Codebeispiele zu sehen.
Browser-Automatisierungsplattform Alter Pfad Neuer Pfad Cypress @axe-core/watcher@axe-core/watcher/cypress/configCypress-Befehle @axe-core/watcher/dist/cypressCommands@axe-core/watcher/cypress/supportPlaywright @axe-core/watcher@axe-core/watcher/playwrightPlaywright-Test @axe-core/watcher@axe-core/watcher/playwright-testPuppeteer @axe-core/watcher@axe-core/watcher/puppeteerWebdriverIO @axe-core/watcher@axe-core/watcher/wdioWebdriverIO Testrunner @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverJavaScript-Beispiel für WebDriverJS:
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Die falsche Spezifikation von
LaunchOptionsin TypeScript für Playwright durch einen neuen Typ ersetzt, derLaunchPersistentContextOptions, dynamisch extrahiert auslaunchPersistentContext. Benutzer müssen alle nicht unterstützten Optionen entfernen, die sie mitLaunchOptionsverwendeten; andernfalls schlägt ihr TypeScript fehl, um im strikten Modus zu kompilieren.
-
3.23.0 (1. August 2025)
- Verbessertes Timeout und Retry-Logik beim Senden von Ergebnissen an den Server (für Watcher für JavaScript und TypeScript).
- Eine Warnung zum
--load-extensionsOption mit Chrome Version 139 und später (sowohl für die JavaScript/TypeScript-Implementierung als auch für die Java-Implementierung) hinzugefügt. - Fehlermeldung, wenn die maximalen Wiederholungsversuche für den Upload fehlgeschlagener Ergebnisse überschritten werden (
Flush: Failed. Maximum retries reached). - Probleme mit der Handhabung von Chrome für Tests und Chromium behoben.
- Protokollieren, ob die maximalen Wiederholungsversuche erreicht wurden.
- Komponententest in die Cypress-Integration implementiert.
3.22.0 (1. Juli 2025)
- Sicherstellen, dass
runOptionskeinenullWerte enthält, die ein stilles Versagen in der Java-Integration verursachten. - Sicherstellen, dass die Lizenzdatei für die Java-Implementierung in das
META-INFVerzeichnis kopiert wird. - Ein Problem behoben, bei dem die ausgeschlossenen URL-Muster in Java nicht korrekt kopiert wurden.
- Die Methode zur Bestimmung des Standard-Git-Branches verbessert.
3.21.0 (23. Mai 2025)
- Java Watcher veröffentlicht.
- Ein Fallback-Mechanismus zur Bestimmung des standardmäßigen Git-Branch-Namens implementiert.
- Ein Problem mit der Cypress-Integration behoben, bei dem lange
wait() Zeiten doppelte Seitenzustände oder Testfehler verursachten. - Ein Problem behoben, bei dem
runOptions.runOnlynicht ordnungsgemäß mit der Cypress-Integration funktionierte.
3.20.2 (17. April 2025)
- Ein Problem mit den Timeout-Fehlermeldungen behoben, die den falschen Parameter zum Ändern angaben. (Zum Beispiel wurde der Benutzer angewiesen,
timeoutStartzu ändern, anstatt den korrektentimeout.start-Wert.)
3.20.1 (25. März 2025)
-
Eigenschaften
- Erlaubt, frühere Versionen von axe-core auszuwählen.
- Das Zwischenspeichern von Ergebnissen auf dem Server robuster gemacht.
-
Fehlerbehebungen
- Ein Problem beim Konsolidieren globaler Konfigurationen mit Benutzereinstellungen behoben.
- Ein Race-Condition-Problem in der Cypress-Integration behoben.
- Ein Problem mit der Cypress-Integration behoben, bei dem experimentelle Regeln nicht aktiviert wurden.
- Ein Problem behoben, bei dem das Aktivieren des EN 301 549-Standards nicht beachtet wurde.
- Ein Problem mit
configurationOverridesbehoben, wenn keine Werte gesetzt waren. - Zusätzliche Validierung für Playwright und Playwright Test hinzugefügt.
- Ein Problem behoben, das beim Versuch auftrat, Versionen von axe-core ohne Patch-Versionsnummer auszuwählen.
- Die Logik zur Zusammenführung von Benutzereinstellungen mit globalen Konfigurationen verbessert.
- Die Handhabung der axe-core-Version verbessert, wenn keine
configurationOverridesbereitgestellt wird. - Die Fehlermeldung für einen nicht erlaubten Barrierefreiheitsstandard in
configurationOverridesverbessert. - Fehlermeldungen verbessert, um einen Link zur Problembehandlungsdokumentation hinzuzufügen.
- Die Fehlerbehandlung beim Senden von Ergebnissen an den Server verbessert, die zuvor dazu führte, dass die Testsuite stoppte.
3.20.0
- Nicht veröffentlicht
3.19.1 (25. Februar 2025)
- Ein Problem behoben, bei dem das Aufrufen einer umschlossenen Methode (wie
click()) nach dem Wechsel des Browserkontexts zu einem untergeordneten Frame mitswitchToFrame()(WebdriverIO oder WebDriverJS) oderswitchTo().frame()(Java Selenium) eine Analyse-Timeout verursachte. Axe Watcher überspringt jetzt die Analyse, wenn er sich nicht im obersten Frame befindet. Siehe Keine Seitenzustände erfasst nach dem Wechsel zu einem untergeordneten Frame für weitere Informationen. - Sicherstellen, dass Testsuites, die
--disable-extensionsangeben, den Watcher nicht deaktivieren.
3.19.0 (20. Januar 2025)
- Die Fehlermeldung mit Playwright- und Playwright-Test-Versionen 1.49.0 oder höher verbessert, wenn der
headless-Parameter verwendet wird, wenn derchannel-Parameter auffirefoxgesetzt ist. (Nur diechromium- oderchrome-Kanäle werden im vollsichtbaren Modus oder dem neuen Headless-Modus unterstützt.) - Die Versionserkennung für axe-core verbessert.
- Unterstützung für globale Konfigurationen.
3.18.0 (18. Dezember 2024)
- Mehrere Probleme bei der Sitzungsverarbeitung behoben, die dazu führen konnten, dass fehlerhafte oder leere Ergebnisse auf der Website angezeigt wurden.
- Unterstützung für neuen Chromium Headless in Playwright-Versionen >= 4.91 hinzugefügt. Siehe Neuen Chromium Headless ausprobieren in den Playwright 4.91 Release Notes.
- Benutzerdefinierte Timeout-Werte hinzugefügt, um Benutzern die Kontrolle über die Sitzungsverarbeitung zu ermöglichen.
3.17.2 (12. Dezember 2024)
-
Funktionen
- Manuellen Modus zum Watcher hinzugefügt.
- Eine Analyse auf einem nicht unterstützten Protokoll (jedes Protokoll außer *https*, *http*, oder *file*) oder auf der *about:blank* -Seite führt zu einem Fehler.
- Jetzt wirft Watcher einen Fehler, wenn er nicht vor der Verwendung konfiguriert wird.
-
Fehlerbehebungen
- Ein Problem im Playwright-Test behoben, bei dem Sitzungen wiederverwendet wurden und dadurch Ergebnisse überschrieben wurden.
- Mehrere andere Probleme beim Erstellen und Verwalten von Sitzungen behoben.
- Im manuellen Modus markiert der Aufruf der Controller-
start()-Methode jetzt das DOM der aktuellen Seite als sauber, sodass kein Seitenstatus erfasst wird. - Im manuellen Modus wurde ein Problem behoben, bei dem manchmal ein zusätzlicher Seitenstatus erfasst wurde, wenn
flush()aufgerufen wurde. - Ein Problem behoben, das einen fehlenden Seitenstatus verursachte, wenn
cy.axeWatcherAnalyze()nach dem Aufrufen voncy.click()ohne einency.wait()-Aufruf. - Enthält jetzt eine aktualisierte LICENSES-3RD-PARTY.md-Datei mit dem @axe-core/watcher-Paket.
- Die Controller-Methode
stop()analysiert jetzt die Seite, wenn sich das DOM geändert hat, bevor der automatische Modus deaktiviert wird. - Das Verhalten von Watcher wurde geändert, sodass die Seite nicht analysiert wird, wenn sich Watcher im manuellen Modus befindet und die Controller-Methode
stop()aufgerufen wird. - Ein Problem in der Playwright-Integration behoben, das dazu führte, dass umschlossene Methoden falsche Typen zurückgaben.
- Ein Problem behoben, das verhinderte, dass
runOptionsnur eine Option akzeptierte.
3.17.1
- Nicht veröffentlicht
3.17.0
- Nicht veröffentlicht
3.16.1 (25. Oktober 2024)
- Lizenzen von Drittanbietern enthalten.
3.16.0 (26. September 2024)
- Ein Problem mit einer transitiven Abhängigkeit bei Cypress-Befehlen behoben.
3.15.2 (13. September 2024)
- Unterstützung für WebdriverIO Version 9 hinzugefügt (wobei die Unterstützung für WebdriverIO Versionen 7 und 8 beibehalten wird).
3.15.1
- Übersprungen (es gab keinen Release Candidate)
3.15.0
- Nicht veröffentlicht
3.14.3 (5. September 2024)
- Keine für den Benutzer sichtbaren Änderungen
3.14.2 (29. August 2024)
- Ein Fehler beim Zugriff auf den Timeout-Wert in Cypress wurde behoben.
- Für Cypress wird nun eine Ausnahme geworfen, wenn der Benutzer versucht, Watcher zu verwenden, ohne vorher
cypressConfig()aufzurufen. - Ein Fehler behoben, der unter bestimmten Bedingungen in Cypress beim Importieren des
os-Moduls auftrat. - Hinzugefügt
buildIDzuAxeConfigurationfür parallele Testläufe. - Veraltet:
sessionIDinAxeConfigurationzugunsten vonbuildID. - Ein Problem behoben, das aufgrund der Verarbeitung von
authenticate()zu einem zusätzlichen Seitenzustand mit Puppeteer führte. - Leistungsverbesserungen in axe Watcher aufgrund von Änderungen in der Code-Obfuskation.
3.14.1
- Nicht veröffentlicht
3.14.0
- Nicht veröffentlicht
3.13.1 (19. Juli 2024)
- Erlaubt das Ausschließen von URLs vom Analyse-Scan durch Verwendung der
excludeUrlPatterns-Option. SieheexcludUrlPatterns.
3.13.0
- Nicht veröffentlicht
3.12.0 (16. Juli 2024)
- Die Handhabung des Remountens von Komponenten in Cypress verbessert.
- Sicherstellen, dass Watcher in WebdriverIO Version 7 geladen werden kann.
- Puppeteer-
locatorUnterstützung hinzugefügt. - Konfiguration von
runContextundrunOptionsfür axe-core hinzugefügt. SieherunContextundrunOptions.
3.11.1 (26. Juni 2024)
- Ein Problem behoben, bei dem Rückgabewerte von externen
setupNodeEventsHandlern in Cypress nicht übermittelt wurden. - Verhalten geändert, um das Laden der Chrome-Erweiterung von Cypress zu ermöglichen.
3.11.0 (17. Juni 2024)
- Ein Problem behoben, bei dem das Unmounten und Remounten von Komponenten dazu führte, dass Barrierefreiheitsscans in Cypress abbrachen.
- Die Browsererkennung wurde gelockert, um Fehler zu vermeiden, selbst beim Einsatz unterstützter Browser.
- Dateischreibvorgänge beim Flushing von Ergebnissen in Cypress entfernt.
3.10.0 (16. Mai 2024)
- Ein Problem in Cypress behoben, bei dem das
config-Objekt nicht korrekt weitergeleitet wurde und alle daran vorgenommenen Änderungen verloren gingen.setupNodeEvents. - Die Implementierung von proxied Funktionen (für Playwright Test) behoben, die zu einem Fehler mit
Locator-Objekten geführt hatten: kann nur mit Locator-Objekt verwendet werden. - Zwei neue Playwright-Funktionen aus der Version 1.43.1 eingebunden.
3.9.0 (30. April 2024)
- Rückwärtskompatible Typen für Puppeteer Version 20 hinzugefügt.
- Für Cypress,
axeAnalyze(),axeFlush(),axeStart(), undaxeStop()für veraltet erklärt. Ersetzt durchaxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart(), undaxeWatcherStop(). - Einen
TypeErrorauf bestimmten Puppeteer Version 21 (und späteren) Hooks behoben.
3.8.0 (9. April 2024)
- Das ausgegebene JavaScript aktualisiert, um auf ECMAScript 2018 (ES2018) statt ECMAScript 2015 (ES2015) abzuzielen.
3.7.0 (21. März 2024)
- Keine benutzerseitig sichtbaren Änderungen
3.6.0 (7. März 2024)
- In der Cypress-Integration,
after:run-Ereignisse verhindert, wenn keine Tests durchgeführt wurden. - Das Format der Download-URL für Chromedriver geändert, da das Chromedriver-Team zu einer neuen Hosting-Lösung gewechselt ist. Betrifft WebdriverIO.
3.5.0 (25. Januar 2024)
- Ein Problem behoben, bei dem der Aufruf der
Page.goto()-Methode von Playwright fälschlicherweise zwei Seitenzustände aufzeichnete. - Ein Problem in der Cypress-Integration behoben, das dazu führte, dass bestimmte Benutzerkonfigurationen von
setupNodeEventsignoriert wurden. - Als erforderliche Abhängigkeit hinzugefügt.
eventemitter3 - Eingebundene einige Playwright-Methoden, die zuvor nicht eingebunden waren.
3.4.0 (12. Dezember 2023)
- Ein Problem behoben, bei dem Seitenzustände verloren gingen oder Fehler auftraten, wenn Tests zu Seitennavigationen führten.
- Einige redundante Codezeilen aus der Cypress-Integration entfernt.
3.3.0 (7. Dezember 2023)
- Keine benutzerseitig sichtbaren Änderungen
3.2.0 (9. November 2023)
- Keine für Benutzer sichtbaren Änderungen
3.1.1 (12. Oktober 2023)
- Keine für Benutzer sichtbaren Änderungen
3.1.0 (14. September 2023)
- Alle Integrationen erlauben nun
--headless=new.
3.0.0 (8. September 2023)
Um Fälle zu adressieren, in denen analyze() unerwartet nicht aufgerufen wurde, mussten die folgenden Funktionen veraltet und ersetzt werden:
| Veraltete Funktion | Neue Funktion |
|---|---|
wrapPlaywright(browserContext, controller) |
wrapPlaywrightPage(page, controller) |
wrapPuppeteer(context, controller) |
wrapPuppeteerPage(page, controller) |
Die Verwendung der veralteten Funktionen wird einen Fehler verursachen.
