Note di rilascio del pacchetto Watcher

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

Note di rilascio che descrivono le modifiche nel pacchetto Watcher per la versione 3.0.0 e successive

Not for use with personal data

4.3.0 (12 maggio 2026)

  • Correzioni di bug
    • Risolto un problema di race condition nell'integrazione Java dove il passaggio del contesto del browser a un iframe attivava scansioni in modo errato, causando la registrazione di risultati extra.
    • Aggiornato axe-core alla versione 4.11.4.

4.2.0 (6 aprile 2026)

  • Funzionalità

    • Estesa l'opzione git per supportare la fornitura di metadati Git espliciti. In JavaScript/TypeScript, la proprietà git ora accetta un oggetto AxeConfiguration oltre a un booleano. In Java, GitConfig ha un nuovo metodo AxeWatcherOptions . Quando viene fornito un oggetto setGitInfo(AxeWatcherGitInfo) o GitConfig , il rilevamento automatico di Git viene saltato. Tutti i campi sono opzionali. Questo è utile quando i test vengono eseguiti in un repository separato dal repository sotto test, o in ambienti CI dove il rilevamento automatico di Git non è affidabile. Vedi AxeWatcherGitInfo Fornire metadati Git per maggiori informazioni.
  • Correzioni di bug

    • Risolto un problema dove chiamare flush() mentre i risultati erano ancora in elaborazione poteva produrre risultati incompleti. (Integrazione JavaScript/TypeScript)
    • Risolto un problema nell'integrazione Java/Selenium dove le eccezioni da findElement() non venivano riportate correttamente, causando il fallimento immediato delle attese esplicite invece di attendere l'apparizione dell'elemento.
    • Migliorata l'affidabilità nell'integrazione Java: Watcher ora riprova automaticamente fino a tre volte a inviare i risultati al server quando si verifica un errore transitorio.
    • Risolto un problema nell'integrazione Java dove passando null a certi metodi setter di configurazione causava un'eccezione non gestita. Questi metodi ora lanciano un'eccezione IllegalArgumentException con un messaggio descrittivo.

4.1.0 (24 febbraio 2026)

  • Funzionalità

    • Watcher ora scansiona automaticamente tutti gli iframe con stessa origine. (L'integrazione Cypress aveva già questo comportamento.) Questo si applica alle integrazioni Playwright, Puppeteer, WebdriverIO, WebDriverJS e Selenium Java.
    • Aggiunto supporto per il RGAA v4 (standard di accessibilità francese). Imposta accessibilityStandard: 'RGAAv4' in ConfigurationOverrides (JavaScript/TypeScript) o utilizza ConfigurationOverrides.AccessibilityStandard.RGAAV4 (Java). Richiede la versione 4.11.0 di axe-core o successive. La configurazione globale determina se questo standard è consentito per la tua organizzazione.
    • Aggiunta un'opzione git a AxeConfiguration (JavaScript/TypeScript) e AxeWatcherOptions (Java) per controllare se le informazioni Git vengono raccolte. Imposta git: false (JavaScript/TypeScript) o chiama setGit(false) (Java) per eseguire Watcher senza raccogliere dati Git. L'impostazione predefinita è true (le informazioni Git vengono raccolte).
    • Aggiornato axe-core alla versione 4.11.1.
  • Correzioni di bug

    • Risolto un problema nell'integrazione Java dove un percorso binario personalizzato di Chrome impostato tramite setBinary() sull'oggetto ChromeOptions veniva sovrascritto quando passato a configure().

4.0.0 (3 dicembre 2025)

Watcher 4.0.0 è un rilascio importante del pacchetto Watcher.

  • **Caratteristiche**

    • Aggiunto supporto proxy. Vedi Utilizzo di Watcher con un Proxy per maggiori informazioni. (L'implementazione del proxy HTTP richiede Node.js versione 20.18.1 o successiva).
    • Aggiornata la versione di axe-core a 4.11.0.
    • Aggiunto supporto per Node.js versione 24.
  • **Correzioni di Bug**

    • Risolto un problema nella segnalazione delle informazioni Git quando si utilizza una pipeline GitLab.
    • Migliorata la gestione degli errori per alternative a Chrome come Chrome per Testing e Chromium.
    • Gestire correttamente i dati Git vuoti.
    • Includere tutte le opzioni di Chrome fornite dall'utente per WebdriverIO.
  • **Cambiamenti Breaking**

    • Watcher (per TypeScript e JavaScript) ora utilizza nuovi percorsi per l'importazione del pacchetto. Vedi le istruzioni per il pacchetto di integrazione del browser per vedere esempi di codice aggiornati.

      Piattaforma di Automazione Browser Vecchio Percorso Nuovo Percorso
      Cypress @axe-core/watcher @axe-core/watcher/cypress/config
      Cypress Comandi @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

      Esempio JavaScript per WebDriverJS:

      const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver')
    • Sostituita la specifica errata di LaunchOptions in TypeScript per Playwright con un nuovo tipo chiamato LaunchPersistentContextOptions, estratto dinamicamente da launchPersistentContext. Gli utenti dovranno rimuovere qualsiasi opzione non supportata che stavano utilizzando con LaunchOptions; altrimenti, il loro TypeScript non riuscirà a compilare in modalità rigorosa.

3.23.0 (1 agosto 2025)

  • Migliorata la logica di timeout e di ripetizione quando si inviano risultati al server (per Watcher per JavaScript e TypeScript).
  • Aggiunto un avviso riguardo l'opzione --load-extensions con Chrome versione 139 e successive (sia per l'implementazione JavaScript/TypeScript che per quella Java).
  • Segnala un fallimento se il numero massimo di tentativi di caricamento dei risultati falliti viene superato (Flush: Failed. Maximum retries reached).
  • Risolti problemi con la gestione di Chrome per Testing e Chromium.
  • Registra se è stato raggiunto il massimo dei tentativi.
  • Implementato test dei componenti nell'integrazione di Cypress.

3.22.0 (1 luglio 2025)

  • Assicurati che runOptions non includa nessun null valori, che causavano un fallimento silenzioso nell'integrazione Java.
  • Assicurati che il file di licenza per l'implementazione Java venga copiato nella META-INF directory.
  • Risolto un problema per cui i modelli di URL esclusi non venivano copiati correttamente in Java.
  • Migliorato il metodo per determinare il branch Git predefinito.

3.21.0 (23 maggio 2025)

  • Java Watcher rilasciato.
  • Implementato un metodo di riserva per determinare il nome predefinito del ramo Git.
  • Risolto un problema con l'integrazione di Cypress dove i lunghi wait() tempi causavano stati di pagina duplicati o fallimenti nei test.
  • Risolto un problema dove runOptions.runOnly non funzionava correttamente con l'integrazione di Cypress.

3.20.2 (17 aprile 2025)

  • Risolto un problema con i messaggi di errore del timeout che specificavano il parametro sbagliato da modificare. (Ad esempio, l'utente veniva indirizzato a cambiare timeoutStart anziché il corretto timeout.start valore.)

3.20.1 (25 marzo 2025)

  • **Funzionalità**

    • Permettere di selezionare versioni precedenti di axe-core.
    • Rendere più robusto l'invio dei risultati al server.
  • **Correzioni di bug**

    • Risolto un problema durante il consolidamento delle configurazioni globali con le sostituzioni delle configurazioni utente.
    • Risolto un problema di race condition nell'integrazione di Cypress.
    • Risolto un problema con l'integrazione di Cypress dove le regole sperimentali non erano abilitate.
    • Risolto un problema dove l'abilitazione dello standard EN 301 549 non veniva rispettata.
    • Risolto un problema con configurationOverrides se non erano impostati valori.
    • Aggiunta ulteriore convalida per Playwright e Playwright Test.
    • Risolto un problema nel tentativo di selezionare versioni di axe-core senza un numero di versione di patch.
    • Migliorata la logica di fusione delle configurazioni utente con le configurazioni globali.
    • Migliorata la gestione della versione di axe-core quando nessun configurationOverrides fornito.
    • Migliorato il messaggio di errore per uno standard di accessibilità non consentito in configurationOverrides.
    • Corretto il messaggio di errore per includere un link alla documentazione di risoluzione dei problemi.
    • Migliorata la gestione degli errori quando si inviano risultati al server, che in precedenza causava l'arresto della suite di test.

3.20.0

  • Non rilasciato

3.19.1 (25 febbraio 2025)

  • Risolto un problema in cui la chiamata a un metodo avvolto (come click()) dopo aver cambiato il contesto del browser a un frame figlio usando switchToFrame() (WebdriverIO o WebDriverJS) o switchTo().frame() (Java Selenium) causava un timeout dell'analisi. Axe Watcher ora salta l'analisi quando non si trova nel frame di livello superiore. Vedere Nessun Stato di Pagina Catturato Dopo Aver Cambiato a un Frame Figlio per maggiori informazioni.
  • Assicurarsi che le suite di test che specificano --disable-extensions non disabilitino Watcher.

3.19.0 (20 gennaio 2025)

  • Migliorato il messaggio di errore con le versioni di Playwright e Playwright Test 1.49.0 o superiori quando si utilizza il headless parametro quando il channel parametro è impostato su firefox. (Solo i canali chromium o chrome sono supportati con modalità completamente visualizzata o la nuova modalità headless.)
  • Migliorato il controllo della versione per axe-core.
  • Supporto per le configurazioni globali.

3.18.0 (18 dicembre 2024)

  • Risolti diversi problemi di gestione delle sessioni che potevano causare la visualizzazione di risultati errati o vuoti sul sito web.
  • Aggiunto supporto per il nuovo Chromium headless nelle versioni Playwright >= 4.91. Vedi Prova il nuovo Chromium headless nelle note di rilascio di Playwright 4.91.
  • Aggiunti valori di timeout personalizzati per consentire agli utenti di controllare la gestione delle sessioni.

3.17.2 (12 dicembre 2024)

  • Caratteristiche

    • Aggiunto modalità manuale a Watcher.
    • Eseguire un'analisi su un protocollo non supportato (qualsiasi protocollo diverso da *https*, *http*, o *file*) o sulla pagina *about:blank* comporterà un errore.
    • Ora Watcher genera un errore se non è configurato prima dell'uso.
  • Correzioni di bug

    • Corretto un problema in Playwright Test in cui le sessioni venivano riutilizzate, causando la sovrascrittura dei risultati.
    • Risolti diversi altri problemi con la creazione e la gestione delle sessioni.
    • In modalità manuale, chiamare il start() metodo ora segna il DOM della pagina corrente come pulito, quindi non viene catturato alcuno stato della pagina.
    • In modalità manuale, risolto un problema in cui talvolta veniva catturato uno stato aggiuntivo della pagina quando flush() veniva chiamato.
    • Corretta un problema che causava la mancanza dello stato della pagina quando cy.axeWatcherAnalyze() veniva chiamato dopo cy.click() veniva chiamato senza un cy.wait() richiamo.
    • Ora incluso un file LICENSES-3RD-PARTY.md aggiornato con il pacchetto @axe-core/watcher.
    • Il metodo del controller stop() ora analizza la pagina se il DOM è cambiato prima di disattivare la modalità automatica.
    • Cambiato il comportamento di Watcher in modo che, se è in modalità manuale, non analizzi la pagina se il metodo del controller stop() viene chiamato.
    • Corretto un problema nell'integrazione di Playwright che causava il ritorno di tipi errati da parte dei metodi avvolti.
    • Corretto un problema che impediva a runOptions di accettare solo un'opzione.

3.17.1

  • Non rilasciato

3.17.0

  • Non rilasciato

3.16.1 (25 ottobre 2024)

  • Licenze di terze parti incluse.

3.16.0 (26 settembre 2024)

  • Corretto un problema di dipendenza transitiva riguardante i comandi Cypress.

3.15.2 (13 settembre 2024)

  • Aggiunto il supporto per WebdriverIO versione 9 (mantenendo il supporto per le versioni 7 e 8 di WebdriverIO).

3.15.1

  • Saltato (non c'era nessun candidato alla release)

3.15.0

  • Non pubblicato

3.14.3 (5 settembre 2024)

  • Nessun cambiamento visibile per l'utente

3.14.2 (29 agosto 2024)

  • Corretto un errore nell'accesso al valore di timeout in Cypress.
  • Per Cypress, ora viene lanciata un'eccezione se l'utente tenta di utilizzare Watcher senza prima chiamare cypressConfig().
  • Corretto un errore che compariva in determinate condizioni in Cypress quando si importava il os modulo.
  • Aggiunto buildID a AxeConfiguration per esecuzioni di test parallele.
  • Deprecato sessionID in AxeConfiguration a favore di buildID.
  • Corretto un problema che causava la cattura di uno stato aggiuntivo della pagina con Puppeteer a causa della gestione di authenticate().
  • Miglioramenti delle prestazioni in axe Watcher grazie a modifiche nell'offuscamento del codice.

3.14.1

  • Non pubblicato

3.14.0

  • Non pubblicato

3.13.1 (19 luglio 2024)

  • Permette di escludere URL dalla scansione di analisi utilizzando l'opzione excludeUrlPatterns . Vedi excludUrlPatterns.

3.13.0

  • Non pubblicato

3.12.0 (16 luglio 2024)

  • Migliorata la gestione del remount dei componenti in Cypress.
  • Assicurato che Watcher possa essere caricato in WebdriverIO versione 7.
  • Aggiunto supporto per Puppeteer locator .
  • Aggiunta configurazione di runContext e runOptions per axe-core. Vedi runContext e runOptions.

3.11.1 (26 giugno 2024)

  • Corretto un problema in cui i valori di ritorno da handler esterni setupNodeEvents in Cypress non venivano propagati.
  • Modificato il comportamento per permettere il caricamento dell'estensione Chrome di Cypress.

3.11.0 (17 giugno 2024)

  • Affrontato un problema in cui il disassemblaggio e il rimontaggio dei componenti causavano timeout nelle scansioni di accessibilità in Cypress.
  • Allentata la logica di rilevamento del browser per evitare errori anche quando si utilizzano browser supportati.
  • Rimosse le scritture del file system durante il flush dei risultati in Cypress.

3.10.0 (16 maggio 2024)

  • Risolto un problema in Cypress dove l'oggetto config restituito da setupNodeEvents non veniva propagato correttamente e qualsiasi modifica effettuata su di esso veniva persa.
  • Corretto l'implementazione delle funzioni proxy (per Playwright Test) che causava un errore con oggetti Locator : può essere usato solo con oggetti Locator.
  • Inclusi due nuovi funzioni Playwright dalla versione 1.43.1.

3.9.0 (30 aprile 2024)

  • Aggiunti tipi retrocompatibili per la versione 20 di Puppeteer.
  • Per Cypress, deprecato axeAnalyze(), axeFlush(), axeStart(), e axeStop(). Sostituito con axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart(), e axeWatcherStop().
  • Corretto un problema su alcuni hook di Puppeteer versione 21 (e successivi). TypeError .

3.8.0 (9 aprile 2024)

  • Aggiornato il JavaScript emesso per puntare a ECMAScript 2018 (ES2018) invece di ECMAScript 2015 (ES2015).

3.7.0 (21 marzo 2024)

  • Nessun cambiamento visibile agli utenti

3.6.0 (7 marzo 2024)

  • Nell'integrazione Cypress, impedisci eventi after:run se non sono stati eseguiti test.
  • Modificato il formato dell'URL di download per Chromedriver perché il team di Chromedriver è passato a una nuova soluzione di hosting. Influisce su WebdriverIO.

3.5.0 (25 gennaio 2024)

  • Risolto un problema in cui chiamando il metodo di Playwright si registravano erroneamente due stati della pagina. Page.goto() .
  • Risolto un problema nell'integrazione Cypress che causava il mancato riconoscimento di alcune configurazioni utente di setupNodeEvents .
  • Aggiunto eventemitter3 come dipendenza richiesta.
  • Inclusi alcuni metodi di Playwright che non erano stati inclusi prima.

3.4.0 (12 dicembre 2023)

  • Risolto un problema in cui gli stati delle pagine venivano persi o si verificavano errori quando i test causavano navigazioni nelle pagine.
  • Rimosso del codice ridondante dall'integrazione Cypress.

3.3.0 (7 dicembre 2023)

  • Nessun cambiamento visibile agli utenti

3.2.0 (9 novembre 2023)

  • Nessuna modifica visibile all'utente

3.1.1 (12 ottobre 2023)

  • Nessuna modifica visibile all'utente

3.1.0 (14 settembre 2023)

  • Ora tutte le integrazioni consentono --headless=new.

3.0.0 (8 settembre 2023)

Per affrontare i casi in cui analyze() non veniva chiamata inaspettatamente, è stato necessario deprecare e sostituire le seguenti funzioni:

Funzione deprecata Nuova funzione
wrapPlaywright(browserContext, controller) wrapPlaywrightPage(page, controller)
wrapPuppeteer(context, controller) wrapPuppeteerPage(page, controller)

L'uso delle funzioni deprecate genererà un errore.