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.5.1 (16 luglio 2026)

  • Caratteristiche

    • Terminato il supporto per Node.js 20, che ha raggiunto la fine del ciclo di vita. Axe Watcher ora richiede Node.js 22.11.0 o successivo. (Integrazioni JavaScript/TypeScript)
    • Microsoft Edge (Chromium) è ora supportato con l'integrazione Java Selenium. In precedenza Edge era disponibile con tutte le integrazioni eccetto Java Selenium. (Integrazione Java Selenium)
  • **Correzioni di Bug**

    • Risolto un problema nell'integrazione Cypress dove gli screenshot catturati non riuscivano a caricarsi su Axe Developer Hub. (Integrazione Cypress)
    • Risolto un problema in cui l'esecuzione simultanea di più test con diversi ID progetto poteva causare la sovrascrittura della configurazione di un esecuzione da parte di un'altra. (Integrazioni JavaScript/TypeScript)

4.5.0 (6 luglio 2026)

  • Caratteristiche
    • Axe Watcher ora supporta ufficialmente Microsoft Edge (Chromium) come browser di test, insieme a Chrome for Testing, Chrome e Chromium. Edge è disponibile con le integrazioni JavaScript/TypeScript e con Java Playwright; non è supportato con Java Selenium.

4.4.0 (12 giugno 2026)

  • Caratteristiche

    • Le scansioni ora includono automaticamente il percorso e il nome del file del test di origine in Axe Developer Hub. (integrazioni Playwright Test, Cypress e WebdriverIO)
    • L'SDK Java ora supporta Playwright oltre a Selenium. L'artefatto com.deque.axe_core:watcher viene fornito con il supporto per Playwright. Consultare la documentazione Java con Playwright per le istruzioni di integrazione.
    • L'integrazione Java/Playwright cattura schermate delle violazioni. Le schermate vengono caricate sul server e salvate localmente quando è configurato un screenshotDir.
    • Aggiunto setScreenshotDir() a AxeWatcherOptions (Java). Usalo per specificare una directory locale per il salvataggio delle schermate. Le schermate vengono salvate localmente anche quando il server non è raggiungibile.
    • Aggiunto setTestContext() sia a AxeWatcherController (Selenium) sia a AxeWatcherPlaywrightController (Playwright) nell'SDK Java. Usalo per attribuire le violazioni a test specifici in Axe Developer Hub.
    • Le schermate salvate localmente ora utilizzano un nome file con prefisso timestamp (YYYYMMDDTHHmmssSSS-{id}.png) in modo che i file si ordinino in modo deterministico per ora di cattura.
    • Aggiunta opzione di configurazione elementInternals. Imposta elementInternals: true in AxeConfiguration (JavaScript/TypeScript) o chiama setElementInternals(true) su AxeWatcherOptions (Java) per includere i dati di accessibilità di ElementInternals nelle scansioni. Questo riduce i falsi positivi sulle pagine che utilizzano elementi personalizzati con attachInternals(). Richiede axe-core versione 4.12.0 o successiva.
    • Aggiornato axe-core alla versione 4.12.1.
  • **Correzioni di Bug**

    • Risolto un problema in cui la chiamata a analyze() (o axeWatcherAnalyze() in Cypress) poteva causare il caricamento di un risultato di scansione duplicato alla fine del test.
    • Risolto un problema in cui due richieste di svuotamento arrivate contemporaneamente potevano causare il caricamento dei risultati delle scansioni più di una volta.
    • Risolto un problema in cui Watcher veniva eseguito in ogni frame figlio, causando l'upload di stati della pagina duplicati. Watcher ora viene eseguito solo nel frame principale. La copertura dell'accessibilità dei contenuti iframe rimane invariata; axe-core continua a essere eseguito in tutti i frame e il frame principale unisce i risultati.
    • Migliorata la performance per i test che catturano molti stati della pagina. Ora, l'archiviazione dei risultati scrive in tempo costante per scansione invece di crescere con il numero totale di risultati accumulati.
    • Migliorata la validazione per setHeadless() e setChannel() nell'integrazione Java/Playwright. Le combinazioni configurate in modo errato ora generano IllegalArgumentException con un messaggio utile invece di fallire silenziosamente o produrre comportamenti inattesi.
    • Risolto un problema in cui i pattern URL esclusi non venivano sempre rispettati se una richiesta di svuotamento arrivava prima che Watcher avesse finito di caricare la sua configurazione.

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)

  • Caratteristiche

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

    • Risolto un problema in cui la chiamata a flush() mentre i risultati erano ancora in fase di elaborazione poteva produrre risultati incompleti. (integrazione JavaScript/TypeScript)
    • Risolto un problema nell'integrazione Java/Selenium dove le eccezioni da findElement() non venivano correttamente riportate, causando il fallimento immediato delle attese esplicite invece di attendere la comparsa 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 passare null a certi metodi setter di configurazione causava un'eccezione non gestita. Questi metodi ora generano un IllegalArgumentException con un messaggio descrittivo.

4.1.0 (24 febbraio 2026)

  • Caratteristiche

    • 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 usa ConfigurationOverrides.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 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. Il valore predefinito è true (le informazioni Git sono raccolte).
    • Aggiornato axe-core alla versione 4.11.1.
  • **Correzioni di Bug**

    • Risolto un problema nell'integrazione Java dove un percorso binario Chrome personalizzato 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. Consulta 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 importare il pacchetto. Vedi istruzioni per il pacchetto di integrazione del tuo 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 eventuali opzioni non supportate che stavano usando con LaunchOptions; altrimenti, il loro TypeScript fallirà nel 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 avvertimento sull'opzione --load-extensions con Chrome versione 139 e successive (sia per l'implementazione JavaScript/TypeScript che Java).
  • Segnala il fallimento se è superato il numero massimo di tentativi di caricamento dei risultati falliti (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 valori null, il che causava un fallimento silenzioso nell'integrazione Java.
  • Assicurati che il file di licenza per l'implementazione Java sia copiato nella directory META-INF.
  • 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 Cypress dove lunghi tempi di wait() causavano stati della pagina duplicati o fallimento del test.
  • Risolto un problema in cui runOptions.runOnly non funzionava correttamente con l'integrazione Cypress.

3.20.2 (17 aprile 2025)

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

3.20.1 (25 marzo 2025)

  • Caratteristiche

    • 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 non viene fornito nessun configurationOverrides.
    • 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 pubblicato

3.19.1 (25 febbraio 2025)

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

3.19.0 (20 gennaio 2025)

  • Migliorato il messaggio di errore con Playwright e Playwright Test versioni 1.49.0 o successive quando si utilizza il parametro headless quando il parametro channel è impostato su firefox. (Solo i canali chromium o chrome sono supportati con modalità completamente visibilizzata o la nuova modalità senza testa.)
  • Migliorato il controllo della versione per axe-core.
  • Supporto per 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 headless Chromium nelle versioni di Playwright >= 4.91. Consulta 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* risulterà in 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 metodo start() del controller ora segna come pulito il DOM della pagina corrente, quindi non viene catturato alcuno stato della pagina.
    • In modalità manuale, risolto un problema dove a volte veniva catturato uno stato aggiuntivo della pagina quando veniva chiamato flush().
    • Risolto un problema che causava un'assenza di stato della pagina quando cy.axeWatcherAnalyze() veniva chiamato dopo cy.click() senza una chiamata cy.wait().
    • 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 viene chiamato il metodo del controller stop().
    • Corretto un problema nell'integrazione di Playwright che causava il ritorno di tipi errati da parte dei metodi avvolti.
    • Risolto un problema che impediva a runOptions di accettare solo un'opzione.

3.17.1

  • Non pubblicato

3.17.0

  • Non pubblicato

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)

  • Nessuna modifica visibile all'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 cerca di usare Watcher senza aver prima chiamato cypressConfig().
  • Risolto un errore che appariva in determinate condizioni in Cypress durante l'importazione del modulo os.
  • Aggiunto buildID a AxeConfiguration per l'esecuzione parallela dei test.
  • Deprecato sessionID in AxeConfiguration a favore di buildID.
  • Risolto un problema che causava il catturamento di uno stato di pagina aggiuntivo con Puppeteer a causa della gestione di authenticate().
  • Miglioramenti delle prestazioni in Axe Watcher grazie a cambiamenti nell'offuscamento del codice.

3.14.1

  • Non pubblicato

3.14.0

  • Non pubblicato

3.13.1 (19 luglio 2024)

  • Consenti l'esclusione di 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)

  • Risolto un problema in cui i valori di ritorno dai gestori setupNodeEvents esterni 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 tutte le modifiche apportate andavano perse.
  • Risolta l'implementazione delle funzioni proxy (per Playwright Test) che causava un errore con gli 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, deprecati axeAnalyze(), axeFlush(), axeStart() e axeStop(). Sostituiti con axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart() e axeWatcherStop().
  • Risolto un TypeError su alcuni hook della versione 21 (e successive) di Puppeteer.

3.8.0 (9 aprile 2024)

  • Aggiorna il JavaScript emesso per avere come target ECMAScript 2018 (ES2018) invece di ECMAScript 2015 (ES2015).

3.7.0 (21 marzo 2024)

  • Nessuna modifica visibile all'utente

3.6.0 (7 marzo 2024)

  • Nell'integrazione di 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 la chiamata al metodo Page.goto() di Playwright registrava erroneamente due stati di pagina.
  • Risolto un problema nell'integrazione di Cypress che causava l'ignoranza di alcune configurazioni utente di setupNodeEvents.
  • Aggiunto eventemitter3 come dipendenza richiesta.
  • Inclusi alcuni metodi di Playwright che non erano stati avvolti 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)

  • Nessuna modifica visibile all'utente

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)

  • Tutte le integrazioni ora consentono --headless=new.

3.0.0 (8 settembre 2023)

Per risolvere i casi in cui analyze() non veniva chiamato 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.