Hinweise zur Veröffentlichung des Watcher-Pakets
Veröffentlichungshinweise zu den Änderungen im Watcher-Paket ab Version 3.0.0
4.3.0 (12. Mai 2026)
- Fehlerbehebungen
- Ein Wettlaufszustand in der Java-Integration wurde behoben, bei dem das Umschalten des Browser-Kontextes zu einem iframe fälschlicherweise Scans auslöste, wodurch zusätzliche Ergebnisse erfasst wurden.
- axe-core auf Version 4.11.4 aktualisiert.
4.2.0 (6. April 2026)
-
Funktionen
- Erweiterte die
git-Option, um die Bereitstellung expliziter Git-Metadaten zu unterstützen. In JavaScript/TypeScript akzeptiert diegit-Eigenschaft inAxeConfigurationnun einGitConfig-Objekt zusätzlich zu einem booleschen Wert. In Java,AxeWatcherOptionsgibt es eine neuesetGitInfo(AxeWatcherGitInfo)-Methode. Wenn einGitConfigoder einAxeWatcherGitInfo-Objekt bereitgestellt wird, wird die automatische Git-Erkennung übersprungen. Alle Felder sind optional. Dies ist nützlich, wenn Tests in einem Repository ausgeführt werden, das von dem zu testenden Repository getrennt ist, oder in CI-Umgebungen, in denen die Git-Autoerkennung unzuverlässig ist. Siehe Bereitstellung von Git-Metadaten für weitere Informationen.
- Erweiterte die
-
Fehlerbehebungen
- Ein Problem behoben, bei dem der Aufruf von
flush(), während die Ergebnisse noch verarbeitet wurden, unvollständige Ergebnisse erzeugen konnte. (JavaScript/TypeScript-Integration) - Ein Problem in der Java/Selenium-Integration behoben, bei dem Ausnahmen von
findElement()nicht korrekt angezeigt wurden, wodurch explizite Wartevorgänge sofort fehlschlugen, anstatt auf das Erscheinen des Elements zu warten. - Verbesserte Zuverlässigkeit in der Java-Integration: Watcher versucht jetzt automatisch bis zu dreimal, Ergebnisse an den Server zu senden, wenn ein vorübergehender Fehler auftritt.
- Ein Problem in der Java-Integration behoben, bei dem das Übergeben von
nullan bestimmte Konfigurations-Setter-Methoden eine unbehandelte Ausnahme verursachte. Diese Methoden werfen jetzt eineIllegalArgumentExceptionmit einer beschreibenden Nachricht.
- Ein Problem behoben, bei dem der Aufruf von
4.1.0 (24. Februar 2026)
-
Funktionen
- Watcher scannt jetzt automatisch alle Same-Origin-iFrames. (Die Cypress-Integration hatte dieses Verhalten bereits.) Dies gilt für die Integrationen Playwright, Puppeteer, WebdriverIO, WebDriverJS und Java Selenium.
- 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 zugelassen ist. - Eine
git-Option zuAxeConfiguration(JavaScript/TypeScript) undAxeWatcherOptions(Java) hinzugefügt, um zu steuern, ob Git-Informationen gesammelt werden. Setzen Siegit: false(JavaScript/TypeScript) oder rufen SiesetGit(false)(Java) auf, um Watcher ohne Sammeln von Git-Daten auszuführen. Der Standard isttrue(Git-Informationen werden gesammelt). - axe-core auf Version 4.11.1 aktualisiert.
-
Fehlerbehebungen
- Ein Problem in der Java-Integration behoben, bei dem ein benutzerdefinierter Chrome-Binärpfad, der über
setBinary()amChromeOptions-Objekt gesetzt wurde, überschrieben wurde, wenn er anconfigure()übergeben wurde.
- Ein Problem in der Java-Integration behoben, bei dem ein benutzerdefinierter Chrome-Binärpfad, 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 wurde auf 4.11.0 aktualisiert.
- Unterstützung für Node.js Version 24 hinzugefügt.
-
Fehlerbehebungen
- Ein Problem beim Berichten von Git-Informationen in einer GitLab-Pipeline behoben.
- Verbesserte Fehlerbehandlung für Chrome-Alternativen wie Chrome für Tests und Chromium.
- Leere Git-Daten korrekt behandeln.
- Alle vom Benutzer bereitgestellten Chrome-Optionen für WebdriverIO einbeziehen.
-
Breaking Changes
-
Watcher (für TypeScript und JavaScript) verwendet jetzt neue Pfade für den Import des Pakets. Siehe die Anleitungen 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 namensLaunchPersistentContextOptions, dynamisch extrahiert auslaunchPersistentContext. Benutzer müssen alle nicht unterstützten Optionen, die sie verwendet haben, entfernenLaunchOptions; andernfalls wird ihr TypeScript im strikten Modus nicht kompiliert.
-
3.23.0 (1. August 2025)
- Verbesserte Timeout- und Retry-Logik beim Senden von Ergebnissen an den Server (für Watcher für JavaScript und TypeScript).
- Warnung über die
--load-extensions-Option mit Chrome Version 139 und höher hinzugefügt (sowohl für die JavaScript/TypeScript- als auch die Java-Implementierung). - Meldung des Fehlers, wenn die maximalen Wiederholungen für fehlgeschlagene Ergebnishochladen überschritten werden (
Flush: Failed. Maximum retries reached). - Probleme beim Umgang mit Chrome für Tests und Chromium behoben.
- Protokollieren, ob die maximalen Wiederholungen erreicht wurden.
- Komponententests in der Cypress-Integration implementiert.
3.22.0 (1. Juli 2025)
- Sicherstellen, dass
runOptionskeinenullWerte enthält, die zu einem stillen Fehler in der Java-Integration führten. - 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 ordnungsgemäß kopiert wurden.
- Methode zur Bestimmung des Standard-Git-Zweigs 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 duplizierte Seitenzustände oder Testfehler verursachten. - Ein Problem behoben, bei dem
runOptions.runOnlynicht richtig 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 dem Benutzer empfohlen,
timeoutStartzu ändern, anstatt den korrektentimeout.start-Wert.)
3.20.1 (25. März 2025)
-
Funktionen
- Erlauben, frühere Versionen von axe-core auszuwählen.
- Das Übertragen von Ergebnissen zum Server robuster gestaltet.
-
Fehlerbehebungen
- Ein Problem beim Konsolidieren globaler Konfigurationen mit Benutzereinstellungen behoben.
- Eine Race Condition in der Cypress-Integration behoben.
- Ein Problem mit der Cypress-Integration behoben, bei dem experimentelle Regeln nicht aktiviert waren.
- Ein Problem behoben, bei dem das Aktivieren des EN 301 549 Standards nicht umgesetzt wurde.
- Ein Problem mit
configurationOverridesbehoben, wenn keine Werte gesetzt waren. - Zusätzliche Validierung für Playwright und Playwright Test hinzugefügt.
- Ein Problem behoben, wenn versucht wurde, Versionen von axe-core ohne Patch-Versionsnummer auszuwählen.
- Die Logik für das Zusammenführen von Benutzereinstellungen mit globalen Konfigurationen verbessert.
- Die Handhabung der axe-core-Version verbessert, wenn kein
configurationOverridesbereitgestellt wurde. - Die Fehlermeldung für einen nicht zugelassenen Barrierefreiheitsstandard in
configurationOverridesverbessert. - Fehlermeldungen verbessert, indem ein Link zur Fehlerbehebungsdokumentation hinzugefügt wurde.
- Die Fehlerbehandlung beim Senden von Ergebnissen zum 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 mit der Erfassung von Seitenzuständen behoben.
- Sicherstellen, dass Testsuiten, die
--disable-extensionsangeben, nicht Watcher deaktivieren.
3.19.0 (20. Januar 2025)
- Die Fehlermeldung bei Playwright- und Playwright-Testversionen 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 vollständig visuellen Modus oder im neuen kopflosen Modus unterstützt.) - Versionsprüfung für axe-core verbessert.
- Unterstützung für globale Konfigurationen.
3.18.0 (18. Dezember 2024)
- Mehrere Probleme bei der Sitzungshandhabung behoben, die zu fehlerhaften oder leeren Ergebnissen auf der Website führen konnten.
- Unterstützung für den 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 den Benutzern die Steuerung der Sitzungsverwaltung zu ermöglichen.
3.17.2 (12. Dezember 2024)
-
Funktionen
- Manuellen Modus für Watcher hinzugefügt.
- Eine Analyse eines nicht unterstützten Protokolls (jedes andere Protokoll als *https*, *http*, oder *file*) oder auf der *about:blank* -Seite führt zu einem Fehler.
- Watcher wirft jetzt einen Fehler, wenn er vor der Verwendung nicht konfiguriert ist.
-
Fehlerbehebungen
- Ein Problem in Playwright Test behoben, bei dem Sitzungen wiederverwendet wurden, was dazu führte, dass Ergebnisse überschrieben wurden.
- Mehrere andere Probleme bei der Erstellung und Verwaltung von Sitzungen behoben.
- Im manuellen Modus markiert der Aufruf der Controllermethode
start()nun den DOM der aktuellen Seite als sauber, sodass kein Seitenstatus erfasst wird. - Im manuellen Modus wurde ein Problem behoben, bei dem manchmal ein zusätzlicher Seitenzustand erfasst wurde, wenn
flush()aufgerufen wurde. - Ein Problem behoben, das dazu führte, dass ein Seitenzustand fehlte, wenn
cy.axeWatcherAnalyze()nach dem Aufruf voncy.click()ohne einency.wait()Aufruf aufgerufen wurde. - Die Datei LICENSES-3RD-PARTY.md mit dem @axe-core/watcher-Paket jetzt aktualisiert bereitstellen.
- Die Controllermethode
stop()analysiert jetzt die Seite, wenn sich das DOM geändert hat, bevor der automatische Modus abgeschaltet wird. - Das Verhalten von Watcher geändert, sodass im manuellen Modus die Seite nicht analysiert wird, wenn die Controllermethode
stop()aufgerufen wird. - Ein Problem in der Playwright-Integration behoben, bei dem umschlossene Methoden falsche Typen zurückgeben konnten.
- 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 hinzugefügt.
3.16.0 (26. September 2024)
- Ein Problem mit transitiven Abhängigkeiten im Zusammenhang mit Cypress-Befehlen behoben.
3.15.2 (13. September 2024)
- Unterstützung für WebdriverIO Version 9 hinzugefügt (während die Unterstützung für WebdriverIO Versionen 7 und 8 beibehalten wurde).
3.15.1
- Übersprungen (es gab keinen Veröffentlichungskandidaten)
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)
- Behoben: Ein Fehler beim Zugriff auf den Timeout-Wert in Cypress.
- Für Cypress wird jetzt eine Ausnahme ausgelöst, wenn der Benutzer versucht, Watcher zu verwenden, ohne vorher
cypressConfig()aufzurufen. - Behoben: Ein Fehler, der unter bestimmten Bedingungen in Cypress beim Importieren des
osModuls auftrat. - Hinzugefügt:
buildIDzuAxeConfigurationfür parallele Testläufe. - Veraltet:
sessionIDinAxeConfigurationzugunsten vonbuildID. - Es wurde ein Problem behoben, bei dem ein zusätzlicher Seitenzustand mit Puppeteer erfasst wurde, aufgrund der Behandlung von
authenticate(). - Leistungsverbesserungen im axe Watcher durch Änderungen in der Code-Verschleierung.
3.14.1
- Nicht veröffentlicht
3.14.0
- Nicht veröffentlicht
3.13.1 (19. Juli 2024)
- Ermöglichen Sie das Ausschließen von URLs aus dem Analyzelauf, indem Sie die
excludeUrlPatternsOption verwenden. SieheexcludUrlPatterns.
3.13.0
- Nicht veröffentlicht
3.12.0 (16. Juli 2024)
- Verbesserte Handhabung der Komponenten-Neumontage in Cypress.
- Stellen Sie sicher, dass der Watcher in WebdriverIO Version 7 geladen werden kann.
- Hinzugefügt: Puppeteer
locatorUnterstützung. - Konfiguration von
runContextundrunOptionsfür axe-core hinzugefügt. SieherunContextundrunOptions.
3.11.1 (26. Juni 2024)
- Ein Problem wurde behoben, bei dem Rückgabewerte von externen
setupNodeEventsHandlern in Cypress nicht propagiert wurden. - Verhalten geändert, um das Laden der Chrome-Erweiterung von Cypress zu ermöglichen.
3.11.0 (17. Juni 2024)
- Ein Problem wurde behoben, bei dem das Aus- und Neumontieren von Komponenten dazu führte, dass Barrierefreiheitsscans in Cypress in den Timeout fielen.
- Die Browser-Erkennungslogik wurde gelockert, um Fehler zu vermeiden, selbst bei Verwendung unterstützter Browser.
- Dateisystemschreibvorgänge beim Fluten von Ergebnissen in Cypress entfernt.
3.10.0 (16. Mai 2024)
- Ein Problem in Cypress wurde behoben, bei dem das
configObjekt, das vonsetupNodeEventszurückgegeben wurde, nicht korrekt propagiert und alle daran vorgenommenen Änderungen verloren gingen. - Die Implementierung von Proxy-Funktionen (für Playwright Test) wurde korrigiert, die zu einem Fehler mit
LocatorObjekten geführt hatte: kann nur mit Locator-Objekt verwendet werden. - Zwei neue Playwright-Funktionen aus der Version 1.43.1 wurden implementiert.
3.9.0 (30. April 2024)
- Rückwärtskompatible Typen für Puppeteer Version 20 hinzugefügt.
- Für Cypress als veraltet markiert
axeAnalyze(),axeFlush(),axeStart(), undaxeStop(). Ersetzt durchaxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart(), undaxeWatcherStop(). - Ein
TypeErrorbei bestimmten Puppeteer-Version 21 (und späteren) Hooks wurde behoben.
3.8.0 (9. April 2024)
- Das ausgegebene JavaScript wurde aktualisiert, um ECMAScript 2018 (ES2018) anstelle von ECMAScript 2015 (ES2015) zu verwenden.ES2018) anstelle von ECMAScript 2015 (ES2015).
3.7.0 (21. März 2024)
- Keine für den Benutzer sichtbaren Änderungen
3.6.0 (7. März 2024)
- In der Cypress-Integration wurden
after:runEreignisse verhindert, wenn keine Tests ausgeführt wurden. - Das Download-URL-Format für Chromedriver wurde geändert, da das Chromedriver-Team auf eine neue Hosting-Lösung umgestiegen ist. Auswirkungen auf WebdriverIO.
3.5.0 (25. Januar 2024)
- Ein Problem wurde behoben, bei dem der Aufruf der
Page.goto()Methode von Playwright fälschlicherweise zwei Seitenzustände aufzeichnete. - Ein Problem in der Cypress-Integration wurde behoben, das dazu führte, dass bestimmte Benutzerkonfigurationen von
setupNodeEventsignoriert wurden. - Hinzugefügt
eventemitter3als erforderliche Abhängigkeit. - Verpackt einige Playwright-Methoden, die zuvor nicht verpackt waren.
3.4.0 (12. Dezember 2023)
- Ein Problem wurde behoben, bei dem Seitenzustände verloren gingen oder Fehler auftraten, wenn Tests zu Seitenwechseln führten.
- Einige redundante Codes aus der Cypress-Integration entfernt.
3.3.0 (7. Dezember 2023)
- Keine für den Benutzer sichtbaren Änderungen
3.2.0 (9. November 2023)
- Keine für den Benutzer sichtbaren Änderungen
3.1.1 (12. Oktober 2023)
- Keine für den Benutzer sichtbaren Änderungen
3.1.0 (14. September 2023)
- Alle Integrationen erlauben jetzt
--headless=new.
3.0.0 (8. September 2023)
Um Fälle zu adressieren, in denen analyze() unerwarteterweise 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 auslösen.
