Note di Rilascio del Pacchetto Watcher
Note di rilascio che descrivono i cambiamenti nel pacchetto Watcher per la versione 3.0.0 e successive
4.3.0 (12 maggio 2026)
- Correzioni di bug
- Corretta una condizione di race nell'integrazione Java in cui il cambio del contesto del browser a un iframe attivava erroneamente scansioni, causando la registrazione di risultati aggiuntivi.
- 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 metodo.AxeWatcherOptionsQuando viene fornito un oggettosetGitInfo(AxeWatcherGitInfo)oGitConfig, il rilevamento automatico di Git viene saltato. Tutti i campi sono facoltativi. Ciò è utile quando i test vengono eseguiti in un repository separato da quello in esame o in ambienti CI dove il rilevamento automatico di Git è inaffidabile. VedereAxeWatcherGitInfoFornire Metadati Git per maggiori informazioni.
- Estesa l'opzione
-
Correzioni di bug
- Corretta un problema in cui chiamare
flush()mentre i risultati erano ancora in fase di elaborazione poteva produrre risultati incompleti. (integrazione JavaScript/TypeScript) - Corretta un problema nell'integrazione Java/Selenium in cui le eccezioni da
findElement()non venivano correttamente evidenziate, causando il fallimento immediato dei tempi di attesa espliciti invece di attendere che l'elemento apparisse. - Migliorata l'affidabilità nell'integrazione Java: Watcher ora ritenta automaticamente di inviare i risultati al server fino a tre volte quando si verifica un errore transitorio.
- Corretta un problema nell'integrazione Java in cui il passaggio di
nulla determinati metodi setter di configurazione causava un'eccezione non gestita. Questi metodi ora lanciano un'eccezioneIllegalArgumentExceptioncon un messaggio descrittivo.
- Corretta un problema in cui chiamare
4.1.0 (24 febbraio 2026)
-
Funzionalità
- Watcher ora esegue automaticamente la scansione di tutti gli iframe con la stessa origine. (L'integrazione Cypress già aveva questo comportamento.) Questo si applica alle integrazioni Playwright, Puppeteer, WebdriverIO, WebDriverJS e Java Selenium.
- Aggiunto supporto per RGAA v4 (standard di accessibilità francese). Imposta
accessibilityStandard: 'RGAAv4'inConfigurationOverrides(JavaScript/TypeScript) o usaConfigurationOverrides.AccessibilityStandard.RGAAV4(Java). Richiede axe-core versione 4.11.0 o successiva. La configurazione globale determina se questo standard è permesso per la tua organizzazione. - Aggiunta un'opzione
gitaAxeConfiguration(JavaScript/TypeScript) eAxeWatcherOptions(Java) per controllare se vengono raccolte informazioni Git. Impostagit: false(JavaScript/TypeScript) o chiamasetGit(false)(Java) per eseguire Watcher senza raccogliere dati Git. Il valore di default ètrue(info Git raccolte). - Aggiornato axe-core alla versione 4.11.1.
-
Correzioni di bug
- Corretta un problema nell'integrazione Java in cui un percorso binario di Chrome personalizzato impostato tramite
setBinary()sull'oggettoChromeOptionsveniva sovrascritto quando passato aconfigure().
- Corretta un problema nell'integrazione Java in cui un percorso binario di Chrome personalizzato impostato tramite
4.0.0 (3 dicembre 2025)
Watcher 4.0.0 è un rilascio importante del pacchetto Watcher.
-
**Caratteristiche**
- Aggiunto supporto proxy. Vedi Utilizzare 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 alla 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.
- Gestione corretta dei dati Git vuoti.
- Includi tutte le opzioni Chrome fornite dall'utente per WebdriverIO.
-
**Modifiche importanti**
-
Watcher (per TypeScript e JavaScript) ora utilizza nuovi percorsi per importare il pacchetto. Vedi le istruzioni per il tuo pacchetto d'integrazione browser per vedere esempi di codice aggiornati.
Piattaforma di Automazione Browser Percorso Vecchio Nuovo Percorso Cypress @axe-core/watcher@axe-core/watcher/cypress/configComandi Cypress @axe-core/watcher/dist/cypressCommands@axe-core/watcher/cypress/supportPlaywright @axe-core/watcher@axe-core/watcher/playwrightTest Playwright @axe-core/watcher@axe-core/watcher/playwright-testPuppeteer @axe-core/watcher@axe-core/watcher/puppeteerWebdriverIO @axe-core/watcher@axe-core/watcher/wdioTestrunner WebdriverIO @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverEsempio di 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 usando conLaunchOptions; altrimenti, il loro TypeScript non riuscirà a compilare in modalità strict.
-
3.23.0 (1 agosto 2025)
- Migliorata la logica di timeout e retry quando si inviano i risultati al server (per Watcher per JavaScript e TypeScript).
- Aggiunto un avviso sull'opzione
--load-extensionscon Chrome versione 139 e successive (sia per l'implementazione JavaScript/TypeScript che per l'implementazione Java). - Segnala il fallimento se i tentativi massimi per il caricamento dei risultati falliti sono superati (
Flush: Failed. Maximum retries reached). - Risolti problemi con la gestione di Chrome per Testing e Chromium.
- Registra se si è raggiunto il massimo dei tentativi.
- Implementato il test dei componenti nell'integrazione di Cypress.
3.22.0 (1 luglio 2025)
- Assicurati che
runOptionsnon includa alcunnullvalori, che causavano un fallimento silenzioso nell'integrazione Java. - Assicurati che il file di licenza per l'implementazione Java sia copiato nella
META-INFdirectory. - Risolto un problema in cui i modelli URL esclusi non venivano copiati correttamente in Java.
- Migliorato il metodo per determinare il ramo Git predefinito.
3.21.0 (23 maggio 2025)
- Java Watcher rilasciato.
- Implementato un metodo alternativo per determinare il nome di default del branch Git.
- Risolto un problema con l'integrazione di Cypress dove tempi di
wait() lunghi causavano stati di pagina duplicati o fallimenti dei test. - Risolto un problema in cui
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 modificare
timeoutStartinvece del correttotimeout.startvalore.)
3.20.1 (25 marzo 2025)
-
**Funzionalità**
- Consentita la selezione di versioni precedenti di axe-core.
- Reso più robusto lo svuotamento dei risultati al server.
-
**Correzioni di bug**
- Risolto un problema nel consolidare le configurazioni globali con le sovrascritture della configurazione utente.
- Risolto un race condition nell'integrazione di Cypress.
- Risolto un problema con l'integrazione di Cypress dove le regole sperimentali non venivano abilitate.
- Risolto un problema dove l'abilitazione dello standard EN 301 549 non veniva rispettata.
- Risolto un problema con
configurationOverridesse non venivano impostati valori. - Aggiunta ulteriore validazione per Playwright e Playwright Test.
- Risolto un problema nel tentativo di selezionare versioni di axe-core senza un numero di versione patch.
- Migliorata la logica per fondere le configurazioni utente con le configurazioni globali.
- Migliorata la gestione della versione di axe-core quando non viene
configurationOverridesfornita. - Migliorato il messaggio di errore per uno standard di accessibilità non consentito in
configurationOverrides. - Corretto i messaggi di errore per includere un link alla documentazione per la risoluzione dei problemi.
- Migliorata la gestione degli errori quando si inviano i risultati al server, il che in precedenza causava l'arresto della suite di test.
3.20.0
- Non rilasciato
3.19.1 (25 febbraio 2025)
- Risolto un problema con la cattura degli stati della pagina.
- 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 dalla 1.49.0 in poi quando si utilizza il
headlessparametro quando ilchannelparametro è impostato sufirefox. (Solo i canalichromiumochromesono supportati con la modalità completamente visualizzata o la nuova modalità senza testa.) - Migliorato il controllo delle versioni per axe-core.
- Supporto per configurazioni globali.
3.18.0 (18 dicembre 2024)
- Risolti diversi problemi di gestione delle sessioni, che potrebbero causare la visualizzazione di risultati errati o vuoti sul sito web.
- Aggiunto supporto per il nuovo Chromium headless nelle versioni di 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
- Aggiunta 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 viene configurato prima dell'uso.
-
Correzioni di bug
- Risolto un problema in Playwright Test dove le sessioni venivano riutilizzate, causando la sovrascrittura dei risultati.
- Risolti diversi altri problemi nella creazione e gestione delle sessioni.
- In modalità manuale, richiamare il metodo del controller
start()ora segna l'attuale DOM della pagina come pulito, in modo che lo stato della pagina non venga catturato. - In modalità manuale, risolto un problema in cui a volte veniva catturato uno stato della pagina aggiuntivo quando
flush()veniva richiamato. - Risolto un problema che causava la mancata cattura dello stato della pagina quando
cy.axeWatcherAnalyze()veniva richiamato dopocy.click()veniva richiamato senza unacy.wait()chiamata. - 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. - Modificato il comportamento di Watcher in modo che se Watcher è in modalità manuale, non analizzi la pagina se il metodo del controller
stop()viene richiamato. - Risolto un problema nell'integrazione di Playwright che causava il ritorno di tipi errati nei metodi incapsulati.
- Risolto 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)
- Incluse licenze di terze parti.
3.16.0 (26 settembre 2024)
- Risolto un problema di dipendenza transitiva che coinvolgeva comandi Cypress.
3.15.2 (13 settembre 2024)
- Aggiunto supporto per WebdriverIO versione 9 (mantenendo il supporto per le versioni 7 e 8 di WebdriverIO).
3.15.1
- Saltato (non c'era un candidato al rilascio)
3.15.0
- Non rilasciato
3.14.3 (5 settembre 2024)
- Nessuna modifica visibile per l'utente
3.14.2 (29 agosto 2024)
- Risolto 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(). - Risolto un errore che appariva in determinate condizioni in Cypress durante l'importazione del
osmodulo. - Aggiunto
buildIDaAxeConfigurationper esecuzioni di test paralleli. - Deprecato
sessionIDinAxeConfigurationa favore dibuildID. - Risolto un problema che causava la cattura di uno stato di pagina aggiuntivo 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 rilasciato
3.14.0
- Non rilasciato
3.13.1 (19 luglio 2024)
- Consentire l'esclusione degli URL dalla scansione di analisi utilizzando l'opzione
excludeUrlPatterns. VediexcludUrlPatterns.
3.13.0
- Non rilasciato
3.12.0 (16 luglio 2024)
- Migliorata la gestione del rimontaggio dei componenti in Cypress.
- Assicurarsi che Watcher possa essere caricato nella versione 7 di WebdriverIO.
- Aggiunto supporto per Puppeteer
locator. - Aggiunta configurazione di
runContexterunOptionsper axe-core. VedirunContexterunOptions.
3.11.1 (26 giugno 2024)
- Risolto un problema in cui i valori di ritorno da gestori esterni
setupNodeEventsin Cypress non venivano propagati. - Modificato il comportamento per consentire il caricamento dell'estensione di Chrome di Cypress.
3.11.0 (17 giugno 2024)
- Affrontato un problema per cui lo smontaggio e il rimontaggio dei componenti causavano il timeout delle scansioni di accessibilità in Cypress.
- Rilassata la logica di rilevamento del browser per evitare errori anche quando si utilizzano browser supportati.
- Rimossi i salvataggi sul file system quando si scaricavano i risultati in Cypress.
3.10.0 (16 maggio 2024)
- Risolto un problema in Cypress in cui l'oggetto
configrestituito dasetupNodeEventsnon veniva propagato correttamente e tutte le modifiche apportate venivano perse. - Corretto l'implementazione delle funzioni proxied (per Playwright Test) che aveva causato un errore con ",
"context": "paragraph
Locatoroggetti: ", "context": "paragraph può essere usato solo con l'oggetto Locator", "context": "emphasized text.", "context": "paragraph - Avvolte due nuove funzioni di Playwright dalla versione 1.43.1.", "context": "paragraph
3.9.0 (30 Aprile 2024)", "context": "heading level 2
- Aggiunti tipi retrocompatibili per la versione 20 di Puppeteer.", "context": "paragraph
- Per Cypress, deprecato ",
"context": "paragraph
axeAnalyze(), ", "context": "paragraphaxeFlush(), ", "context": "paragraphaxeStart(), e ", "context": "paragraphaxeStop(). Sostituito con ", "context": "paragraphaxeWatcherAnalyze(), ", "context": "paragraphaxeWatcherFlush(), ", "context": "paragraphaxeWatcherStart(), e ", "context": "paragraphaxeWatcherStop().", "context": "paragraph - Corretto un ",
"context": "paragraph
TypeErrorsu certi hook della versione 21 (e successive) di Puppeteer.", "context": "paragraph
3.8.0 (9 Aprile 2024)", "context": "heading level 2
- Aggiornato il JavaScript emesso per il target ECMAScript 2018 (", "context": "paragraphES2018", "context": "link text) invece di ECMAScript 2015 (", "context": "paragraphES2015", "context": "link text).", "context": "paragraph
3.7.0 (21 Marzo 2024)", "context": "heading level 2
- Nessuna modifica visibile all'utente", "context": "paragraph
3.6.0 (7 Marzo 2024)", "context": "heading level 2
- Nell'integrazione Cypress, impedire ",
"context": "paragraph
after:runeventi se non sono stati eseguiti test.", "context": "paragraph - Cambiato il formato URL di download per Chromedriver perché il team di Chromedriver si è spostato su una nuova soluzione di hosting. Impatta WebdriverIO.", "context": "paragraph
3.5.0 (25 Gennaio 2024)", "context": "heading level 2
- Corretto un problema in cui la chiamata al ",
"context": "paragraph
Page.goto()metodo di Playwright registrava in modo errato due stati di pagina.", "context": "paragraph - Corretto un problema nell'integrazione Cypress che causava l'ignoranza di certe configurazioni utente di ",
"context": "paragraph
setupNodeEvents.", "context": "paragraph - Aggiunto ",
"context": "paragraph
eventemitter3come dipendenza necessaria.", "context": "paragraph - Avvolte", "context": "link text alcune funzioni di Playwright che non erano state avvolte prima.", "context": "paragraph
3.4.0 (12 Dicembre 2023)", "context": "heading level 2
- Corretto un problema in cui gli stati di pagina venivano persi o si verificavano errori quando i test causavano navigazioni di pagina.", "context": "paragraph
- Rimosso del codice ridondante dall'integrazione Cypress.", "context": "paragraph
3.3.0 (7 Dicembre 2023)", "context": "heading level 2
- Nessuna modifica visibile all'utente", "context": "paragraph
3.2.0 (9 Novembre 2023)", "context": "heading level 2
- Nessuna modifica visibile all'utente", "context": "paragraph
3.1.1 (12 Ottobre 2023)", "context": "heading level 2
- Nessuna modifica visibile all'utente", "context": "paragraph
3.1.0 (14 Settembre 2023)", "context": "heading level 2
- Tutte le integrazioni ora permettono ",
"context": "paragraph
--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) |
Utilizzare le funzioni deprecate genererà un errore.
