Note di rilascio del pacchetto Watcher
Note di rilascio che descrivono le modifiche nel pacchetto Watcher per la versione 3.0.0 e successive
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
gitper supportare la fornitura di metadati Git espliciti. In JavaScript/TypeScript, la proprietàgitora accetta un oggettoAxeConfigurationoltre a un booleano. In Java,GitConfigha un nuovo metodoAxeWatcherOptions. Quando viene fornito un oggettosetGitInfo(AxeWatcherGitInfo)oGitConfig, 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. VediAxeWatcherGitInfoFornire metadati Git per maggiori informazioni.
- Estesa l'opzione
-
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
nulla certi metodi setter di configurazione causava un'eccezione non gestita. Questi metodi ora lanciano un'eccezioneIllegalArgumentExceptioncon un messaggio descrittivo.
- Risolto un problema dove chiamare
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'inConfigurationOverrides(JavaScript/TypeScript) o utilizzaConfigurationOverrides.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
gitaAxeConfiguration(JavaScript/TypeScript) eAxeWatcherOptions(Java) per controllare se le informazioni Git vengono raccolte. Impostagit: false(JavaScript/TypeScript) o chiamasetGit(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'oggettoChromeOptionsveniva sovrascritto quando passato aconfigure().
- Risolto un problema nell'integrazione Java dove un percorso binario personalizzato di Chrome impostato tramite
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/configCypress Comandi @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/webdriverEsempio JavaScript per WebDriverJS:
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Sostituita la specifica errata di
LaunchOptionsin TypeScript per Playwright con un nuovo tipo chiamatoLaunchPersistentContextOptions, estratto dinamicamente dalaunchPersistentContext. Gli utenti dovranno rimuovere qualsiasi opzione non supportata che stavano utilizzando conLaunchOptions; 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-extensionscon 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
runOptionsnon includa nessunnullvalori, che causavano un fallimento silenzioso nell'integrazione Java. - Assicurati che il file di licenza per l'implementazione Java venga copiato nella
META-INFdirectory. - 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.runOnlynon 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
timeoutStartanziché il correttotimeout.startvalore.)
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
configurationOverridesse 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
configurationOverridesfornito. - 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 usandoswitchToFrame()(WebdriverIO o WebDriverJS) oswitchTo().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-extensionsnon 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
headlessparametro quando ilchannelparametro è impostato sufirefox. (Solo i canalichromiumochromesono 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 dopocy.click()veniva chiamato senza uncy.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
runOptionsdi 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
osmodulo. - Aggiunto
buildIDaAxeConfigurationper esecuzioni di test parallele. - Deprecato
sessionIDinAxeConfigurationa favore dibuildID. - 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. VediexcludUrlPatterns.
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
runContexterunOptionsper axe-core. VedirunContexterunOptions.
3.11.1 (26 giugno 2024)
- Corretto un problema in cui i valori di ritorno da handler esterni
setupNodeEventsin 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
configrestituito dasetupNodeEventsnon 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(), eaxeStop(). Sostituito conaxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart(), eaxeWatcherStop(). - 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:runse 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
eventemitter3come 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.
