Hinweise zur Veröffentlichung des Watcher-Pakets

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Veröffentlichungshinweise zu den Änderungen im Watcher-Paket ab Version 3.0.0

Not for use with personal data

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 die git -Eigenschaft in AxeConfiguration nun ein GitConfig -Objekt zusätzlich zu einem booleschen Wert. In Java, AxeWatcherOptions gibt es eine neue setGitInfo(AxeWatcherGitInfo) -Methode. Wenn ein GitConfig oder ein AxeWatcherGitInfo -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.
  • 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 null an bestimmte Konfigurations-Setter-Methoden eine unbehandelte Ausnahme verursachte. Diese Methoden werfen jetzt eine IllegalArgumentException mit einer beschreibenden Nachricht.

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' in ConfigurationOverrides (JavaScript/TypeScript) oder verwenden Sie ConfigurationOverrides.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 zu AxeConfiguration (JavaScript/TypeScript) und AxeWatcherOptions (Java) hinzugefügt, um zu steuern, ob Git-Informationen gesammelt werden. Setzen Sie git: false (JavaScript/TypeScript) oder rufen Sie setGit(false) (Java) auf, um Watcher ohne Sammeln von Git-Daten auszuführen. Der Standard ist true (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() am ChromeOptions -Objekt gesetzt wurde, überschrieben wurde, wenn er an configure()übergeben wurde.

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/config
      Cypress-Befehle @axe-core/watcher/dist/cypressCommands @axe-core/watcher/cypress/support
      Playwright @axe-core/watcher @axe-core/watcher/playwright
      Playwright-Test @axe-core/watcher @axe-core/watcher/playwright-test
      Puppeteer @axe-core/watcher @axe-core/watcher/puppeteer
      WebdriverIO @axe-core/watcher @axe-core/watcher/wdio
      WebdriverIO-Testrunner @axe-core/watcher @axe-core/watcher/wdio
      WebDriverJS @axe-core/watcher @axe-core/watcher/webdriver

      JavaScript-Beispiel für WebDriverJS:

      const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver')
    • Die falsche Spezifikation von LaunchOptions in TypeScript für Playwright durch einen neuen Typ ersetzt namens LaunchPersistentContextOptions, dynamisch extrahiert aus launchPersistentContext. Benutzer müssen alle nicht unterstützten Optionen, die sie verwendet haben, entfernen LaunchOptions; 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 runOptions keine null Werte 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-INF Verzeichnis 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.runOnly nicht 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, timeoutStart zu ändern, anstatt den korrekten timeout.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 configurationOverrides behoben, 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 configurationOverrides bereitgestellt 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-extensions angeben, 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 der channel -Parameter auf firefoxgesetzt ist. (Nur die chromium - oder chrome -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 von cy.click() ohne einen cy.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 runOptions nur 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 os Moduls auftrat.
  • Hinzugefügt: buildID zu AxeConfiguration für parallele Testläufe.
  • Veraltet: sessionID in AxeConfiguration zugunsten von buildID.
  • 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 excludeUrlPatterns Option verwenden. Siehe excludUrlPatterns.

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 locator Unterstützung.
  • Konfiguration von runContext und runOptions für axe-core hinzugefügt. Siehe runContext und runOptions.

3.11.1 (26. Juni 2024)

  • Ein Problem wurde behoben, bei dem Rückgabewerte von externen setupNodeEvents Handlern 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 config Objekt, das von setupNodeEvents zurü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 Locator Objekten 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(), und axeStop(). Ersetzt durch axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart(), und axeWatcherStop().
  • Ein TypeError bei 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:run Ereignisse 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 setupNodeEvents ignoriert wurden.
  • Hinzugefügt eventemitter3 als 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.