Notes de version du package Watcher
Notes de version décrivant les modifications dans le package Watcher pour la version 3.0.0 et ultérieures
4.5.1 (16 juillet 2026)
-
Fonctionnalités
- Prise en charge abandonnée pour Node.js 20, qui a atteint sa fin de vie. Axe Watcher nécessite désormais Node.js 22.11.0 ou une version ultérieure. (intégrations JavaScript/TypeScript)
- Microsoft Edge (Chromium) est désormais pris en charge avec l'intégration Java Selenium. Auparavant, Edge était disponible avec toutes les intégrations sauf Java Selenium. (intégration Java Selenium)
-
**Corrections de bugs**
- Correction d'un problème dans l'intégration Cypress où les captures d'écran capturées ne parvenaient pas à se télécharger vers Axe Developer Hub. (intégration Cypress)
- Correction d'un problème où l'exécution de plusieurs tests simultanément avec différents IDs de projet pouvait entraîner la configuration d'un essai à écraser celle d'un autre. (intégrations JavaScript/TypeScript)
4.5.0 (6 juillet 2026)
- Fonctionnalités
- Axe Watcher prend désormais officiellement en charge Microsoft Edge (Chromium) comme navigateur de test, en plus de Chrome for Testing, Chrome et Chromium. Edge est disponible avec les intégrations JavaScript/TypeScript et avec Java Playwright ; il n'est pas pris en charge avec Java Selenium.
4.4.0 (12 juin 2026)
-
Fonctionnalités
- Les analyses incluent désormais automatiquement le chemin et le nom du fichier du test d'origine dans Axe Developer Hub. (Intégrations Playwright Test, Cypress et WebdriverIO)
- Le SDK Java prend désormais en charge Playwright en plus de Selenium. L’artifact
com.deque.axe_core:watcherest livré avec le support Playwright. Consultez la documentation Java avec Playwright pour les instructions d'intégration. - L'intégration Java/Playwright capture des captures d'écran des violations. Les captures d'écran sont téléchargées sur le serveur et enregistrées localement lorsqu'un
screenshotDirest configuré. - Ajout de
setScreenshotDir()àAxeWatcherOptions(Java). Utilisez-le pour spécifier un répertoire local pour enregistrer les captures d'écran. Les captures d'écran sont enregistrées localement même lorsque le serveur est inaccessible. - Ajout de
setTestContext()à la fois àAxeWatcherController(Selenium) etAxeWatcherPlaywrightController(Playwright) dans le SDK Java. Utilisez-le pour attribuer les violations à des tests spécifiques dans Axe Developer Hub. - Les captures d'écran enregistrées localement utilisent désormais un nom de fichier préfixé par un horodatage (
YYYYMMDDTHHmmssSSS-{id}.png), de sorte que les fichiers soient triés de manière déterministe par heure de capture. - Ajout de l'option de configuration
elementInternals. DéfinissezelementInternals: truedansAxeConfiguration(JavaScript/TypeScript) ou appelezsetElementInternals(true)surAxeWatcherOptions(Java) pour inclure les données d'accessibilité ElementInternals dans les analyses. Cela réduit les faux positifs sur les pages utilisant des éléments personnalisés avecattachInternals(). Nécessite axe-core version 4.12.0 ou ultérieure. - Mise à jour de axe-core vers la version 4.12.1.
-
**Corrections de bugs**
- Correction d'un problème où l'appel de
analyze()(ouaxeWatcherAnalyze()dans Cypress) pouvait entraîner le téléchargement d'un résultat d'analyse en double à la fin du test. - Correction d'un problème où deux requêtes de vidage arrivant en même temps pouvaient entraîner le téléchargement des résultats d'analyse plus d'une fois.
- Correction d'un problème où Watcher s'exécutait dans chaque cadre enfant, entraînant le téléchargement d'états de page en double. Watcher ne s'exécute désormais que dans le cadre supérieur. La couverture d'accessibilité du contenu iframe est inchangée ; axe-core s'exécute toujours dans tous les cadres et le cadre supérieur regroupe leurs résultats.
- Amélioration des performances pour les tests qui capturent de nombreux états de page. Le stockage des résultats écrit désormais en temps constant par analyse au lieu d'augmenter avec le nombre total de résultats accumulés.
- Validation améliorée pour
setHeadless()etsetChannel()dans l'intégration Java/Playwright. Les combinaisons mal configurées lancent désormaisIllegalArgumentExceptionavec un message exploitable au lieu d'échouer silencieusement ou de produire un comportement inattendu. - Correction d'un problème où les motifs d'URL exclus n'étaient pas toujours respectés si une requête de vidage arrivait avant que Watcher ait terminé de charger sa configuration.
- Correction d'un problème où l'appel de
4.3.0 (12 mai 2026)
- **Corrections de bugs**
- Correction d'une condition de compétition dans l'intégration Java où le passage au contexte du navigateur à une iframe déclenchait incorrectement des analyses, entraînant l'enregistrement de résultats supplémentaires.
- Mise à jour de axe-core vers la version 4.11.4.
4.2.0 (6 avril 2026)
-
Fonctionnalités
- Extension de l'option
gitpour prendre en charge la fourniture de métadonnées Git explicites. En JavaScript/TypeScript, la propriétégitdansAxeConfigurationaccepte désormais un objetGitConfigen plus d'un booléen. En Java,AxeWatcherOptionsa une nouvelle méthodesetGitInfo(AxeWatcherGitInfo). Lorsqu'un objetGitConfigouAxeWatcherGitInfoest fourni, la détection automatique de Git est ignorée. Tous les champs sont optionnels. Cela est utile lorsque les tests s'exécutent dans un dépôt séparé du dépôt testé, ou dans des environnements CI où la détection automatique de Git est peu fiable. Voir pour plus d'informations. pour plus d'informations.
- Extension de l'option
-
**Corrections de bugs**
- Correction d'un problème où l'appel de
flush()alors que les résultats étaient encore en cours de traitement pouvait produire des résultats incomplets. (Intégration JavaScript/TypeScript) - Correction d'un problème dans l'intégration Java/Selenium où les exceptions provenant de
findElement()n'étaient pas correctement remontées, ce qui entraînait l'échec immédiat des attentes explicites au lieu d'attendre que l'élément apparaisse. - Correction d'un problème dans l'intégration Java où le passage de
- Correction d'un problème dans l'intégration Java où passer
nullà certaines méthodes de configuration faisait exception non gérée. Ces méthodes lancent désormais unIllegalArgumentExceptionavec un message descriptif.
- Correction d'un problème où l'appel de
Fonctionnalités
-
Fonctionnalités
- Ajout de la prise en charge de la RGAA v4 (standard d'accessibilité français). Définir
- Ajout du support pour RGAA v4 (norme d'accessibilité française). Définissez
accessibilityStandard: 'RGAAv4'dansConfigurationOverrides(JavaScript/TypeScript) ou utilisezConfigurationOverrides.AccessibilityStandard.RGAAV4(Java). Nécessite axe-core version 4.11.0 ou ultérieure. La configuration globale détermine si cette norme est autorisée pour votre organisation. - Ajout d'une option
gitàAxeConfiguration(JavaScript/TypeScript) etAxeWatcherOptions(Java) pour contrôler si les informations Git sont collectées. Définissezgit: false(JavaScript/TypeScript) ou appelezsetGit(false)(Java) pour exécuter Watcher sans collecter de données Git. Par défaut,true(les informations Git sont collectées). - Corrections de bugs
-
**Corrections de bugs**
- Correction d'un problème dans l'intégration Java où un chemin binaire Chrome personnalisé défini via
setBinary()sur l'objetChromeOptionsétait écrasé lorsqu'il était passé àconfigure().
- Correction d'un problème dans l'intégration Java où un chemin binaire Chrome personnalisé défini via
Watcher 4.0.0 est une version majeure du package Watcher.
Watcher 4.0.0 est une nouvelle version majeure du package Watcher.
-
Fonctionnalités
- Ajout du support de proxy. Voir Utilisation de Watcher avec un proxy pour plus d'informations. (L'implémentation du proxy HTTP nécessite Node.js version 20.18.1 ou ultérieure).
- Mise à jour de la version de axe-core à 4.11.0.
- Ajout du support pour Node.js version 24.
-
**Corrections de bugs**
- Correction d'un problème concernant le rapport d'informations Git lors de l'utilisation d'un pipeline GitLab.
- Amélioration de la gestion des erreurs pour les alternatives à Chrome comme Chrome pour Testing et Chromium.
- Gérer correctement les données Git vides.
- Inclure toutes les options Chrome fournies par l'utilisateur pour WebdriverIO.
-
**Changements majeurs**
-
Watcher (pour TypeScript et JavaScript) utilise désormais de nouveaux chemins pour importer le package. Consultez les instructions pour votre package d'intégration de navigateur pour voir des exemples de code mis à jour.
Plateforme d'automatisation du navigateur Ancien chemin Nouveau chemin Cypress @axe-core/watcher@axe-core/watcher/cypress/configCommandes 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/wdioWebdriverIO Testrunner @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverExemple JavaScript pour WebDriverJS :
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Remplacement de la spécification incorrecte de
LaunchOptionsdans TypeScript pour Playwright par un nouveau type appeléLaunchPersistentContextOptions, extrait dynamiquement delaunchPersistentContext. Les utilisateurs devront supprimer toutes les options non prises en charge qu'ils utilisaient avecLaunchOptions; sinon, leur TypeScript échouera à compiler en mode strict.
-
3.23.0 (1 août 2025)
- Amélioration de la logique de temporisation et de réessai lors de l'envoi des résultats au serveur (pour Watcher pour JavaScript et TypeScript).
- Ajout d'un avertissement concernant l'option
--load-extensionsavec Chrome version 139 et ultérieure (pour les implémentations JavaScript/TypeScript et Java). - Signalez un échec si le nombre maximum de tentatives pour télécharger des résultats échoués est dépassé (
Flush: Failed. Maximum retries reached). - Correction des problèmes de gestion de Chrome pour Testing et Chromium.
- Enregistrement si le nombre maximal de tentatives a été atteint.
- Mise en œuvre des tests de composants dans l'intégration Cypress.
3.22.0 (1 juillet 2025)
- Assurez-vous que
runOptionsne contient aucune valeurnull, ce qui a provoqué une défaillance silencieuse dans l'intégration Java. - Assurez-vous que le fichier de licence pour l'implémentation Java est copié dans le répertoire
META-INF. - Correction d'un problème où les modèles d'URL exclus n'étaient pas copiés correctement en Java.
- Amélioration de la méthode pour déterminer la branche Git par défaut.
3.21.0 (23 mai 2025)
- Java Watcher publié.
- Mise en place d'un moyen de secours pour déterminer le nom par défaut de la branche Git.
- Correction d'un problème avec l'intégration Cypress où les longs temps de
wait() provoquaient des états de page en double ou un échec du test. - Correction d'un problème où
runOptions.runOnlyne fonctionnait pas correctement avec l'intégration Cypress.
3.20.2 (17 avril 2025)
- Correction d'un problème avec les messages d'erreur de délai d'attente qui spécifiaient le mauvais paramètre à modifier. (Par exemple, l'utilisateur était dirigé pour changer
timeoutStartau lieu de la valeur correctetimeout.start.)
3.20.1 (25 mars 2025)
-
Fonctionnalités
- Permettre de sélectionner des versions antérieures de axe-core.
- Rendre la transmission des résultats au serveur plus robuste.
-
Corrections de bugs
- Correction d'un problème lors de la consolidation des configurations globales avec les substitutions de configuration utilisateur.
- Correction d'une condition de concurrence dans l'intégration Cypress.
- Correction d'un problème avec l'intégration Cypress où les règles expérimentales n'étaient pas activées.
- Correction d'un problème où l'activation de la norme EN 301 549 n'était pas respectée.
- Correction d'un problème avec
configurationOverridessi aucune valeur n'était définie. - Ajout d'une validation supplémentaire pour Playwright et Playwright Test.
- Correction d'un problème lors de la tentative de sélection des versions de axe-core sans numéro de version de correctif.
- Amélioration de la logique de fusion des configurations utilisateur avec les configurations globales.
- Amélioration de la gestion de la version axe-core lorsque aucun
configurationOverridesn'est fourni. - Amélioration du message d'erreur pour une norme d'accessibilité non autorisée dans
configurationOverrides. - Correction des messages d'erreur pour inclure un lien vers la documentation de dépannage.
- Amélioration de la gestion des erreurs lors de l'envoi des résultats au serveur, ce qui provoquait auparavant l'arrêt de la suite de tests.
3.20.0
- Non publié
3.19.1 (25 février 2025)
- Correction d'un problème où l'appel d'une méthode enveloppée (comme
click()) après avoir changé le contexte du navigateur vers un cadre enfant en utilisantswitchToFrame()(WebdriverIO ou WebDriverJS) ouswitchTo().frame()(Java Selenium) causait un dépassement de délai d'analyse. Axe Watcher ignore désormais l'analyse lorsqu'il n'est pas dans le cadre principal. Voir Aucun état de page capturé après le passage à une sous-fenêtre pour plus d'informations. - Assurez-vous que les suites de tests spécifiant
--disable-extensionsne désactivent pas Watcher.
3.19.0 (20 janvier 2025)
- Amélioration du message d'erreur avec Playwright et les versions Playwright Test 1.49.0 ou plus lors de l'utilisation du paramètre
headlesslorsque le paramètrechannelest défini surfirefox. (Seuls les canauxchromiumouchromesont pris en charge avec le mode entièrement visible ou le nouveau mode sans tête.) - Amélioration de la vérification des versions pour axe-core.
- Support pour configurations globales.
3.18.0 (18 décembre 2024)
- Résolution de plusieurs problèmes de gestion de session, qui pouvaient provoquer l'apparition de résultats erronés ou vides sur le site.
- Ajout du support pour le nouveau mode sans tête de Chromium dans les versions Playwright >= 4.91. Voir Essayez le nouveau Chromium headless dans les notes de version de Playwright 4.91.
- Ajout de valeurs de délai d'attente personnalisées pour permettre aux utilisateurs de contrôler la gestion de session.
3.17.2 (12 décembre 2024)
-
Fonctionnalités
- Ajout du mode manuel à Watcher.
- Exécuter une analyse sur un protocole non pris en charge (tout protocole autre que https, http ou file) ou sur la page about:blank entraînera une erreur.
- Désormais, Watcher génère une erreur s'il n'est pas configuré avant utilisation.
-
Corrections de bugs
- Résolution d'un problème dans Playwright Test où les sessions étaient réutilisées, provoquant l'écrasement des résultats.
- Résolution de plusieurs autres problèmes liés à la création et à la gestion des sessions.
- En mode manuel, l'appel de la méthode
start()du contrôleur marque désormais le DOM de la page actuelle comme propre, aucun état de page n'est donc capturé. - En mode manuel, correction d'un problème où un état de page supplémentaire était parfois capturé lorsque
flush()était appelé. - Correction d'un problème qui causait un état de page manquant lorsque
cy.axeWatcherAnalyze()était appelé après quecy.click()ait été appelé sans un appelcy.wait(). - Maintenant, un fichier LICENSES-3RD-PARTY.md mis à jour est inclus avec le package @axe-core/watcher.
- La méthode du contrôleur
stop()analyse désormais la page si le DOM a changé avant de désactiver le mode automatique. - Modification du comportement de Watcher afin que, si Watcher est en mode manuel, la page ne soit pas analysée si la méthode du contrôleur
stop()est appelée. - Correction d'un problème dans l'intégration de Playwright qui causait le retour de types incorrects par les méthodes enveloppées.
- Correction d'un problème qui empêchait
runOptionsd'accepter une seule option.
3.17.1
- Non publié
3.17.0
- Non publié
3.16.1 (25 octobre 2024)
- Inclusion des licences tierces.
3.16.0 (26 septembre 2024)
- Correction d'un problème de dépendance transitive impliquant les commandes Cypress.
3.15.2 (13 septembre 2024)
- Ajout du support pour WebdriverIO version 9 (tout en conservant le support pour les versions 7 et 8 de WebdriverIO).
3.15.1
- Ignoré (il n'y avait pas de version candidate)
3.15.0
- Non publié
3.14.3 (5 septembre 2024)
- Aucun changement visible pour l'utilisateur
3.14.2 (29 août 2024)
- Correction d'une erreur d'accès à la valeur du délai d'attente dans Cypress.
- Pour Cypress, déclencher maintenant une exception si l'utilisateur tente d'utiliser Watcher sans d'abord appeler
cypressConfig(). - Correction d'une erreur qui apparaissait dans certaines conditions sous Cypress lors de l'importation du module
os. - Ajout de
buildIDàAxeConfigurationpour les exécutions de tests en parallèle. sessionIDdansAxeConfigurationest désormais obsolète au profit debuildID.- Correction d'un problème qui faisait capturer un état de page supplémentaire avec Puppeteer en raison du traitement de
authenticate(). - Améliorations des performances dans Axe Watcher grâce à des changements dans l'obfuscation du code.
3.14.1
- Non publié
3.14.0
- Non publié
3.13.1 (19 juillet 2024)
- Permettre l'exclusion des URL de l'analyse par balayage en utilisant l'option
excludeUrlPatterns. VoirexcludUrlPatterns.
3.13.0
- Non publié
3.12.0 (16 juillet 2024)
- Amélioration de la gestion du remontage de composants dans Cypress.
- Assurez-vous que Watcher peut être chargé dans WebdriverIO version 7.
- Ajout du support
locatorpour Puppeteer. - Ajout de la configuration de
runContextetrunOptionspour axe-core. VoirrunContextetrunOptions.
3.11.1 (26 juin 2024)
- Correction d'un problème où les valeurs de retour des gestionnaires externes
setupNodeEventsdans Cypress n'étaient pas propagées. - Changement de comportement pour permettre le chargement de l'extension Chrome de Cypress.
3.11.0 (17 juin 2024)
- Correction d'un problème où le démontage et le remontage des composants provoquaient un délai d'attente dans les analyses d'accessibilité dans Cypress.
- Assouplissement de la logique de détection du navigateur pour éviter les échecs même lors de l'utilisation de navigateurs pris en charge.
- Suppression des écritures sur le système de fichiers lors du vidage des résultats dans Cypress.
3.10.0 (16 mai 2024)
- Correction d'un problème dans Cypress où l'objet
configretourné desetupNodeEventsn'était pas correctement propagé et toutes les modifications apportées étaient perdues. - Correction de l'implémentation des fonctions proxy (pour Playwright Test) qui avait entraîné une erreur avec les objets
Locator: ne peut être utilisé qu'avec l'objet Locator. - Encapsulé deux nouvelles fonctions Playwright de la version 1.43.1.
3.9.0 (30 avril 2024)
- Ajout de types rétrocompatibles pour la version 20 de Puppeteer.
- Pour Cypress,
axeAnalyze(),axeFlush(),axeStart()etaxeStop()sont désormais obsolètes. Remplacés paraxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart()etaxeWatcherStop(). - Correction d'un
TypeErrorsur certains hooks de la version 21 (et plus) de Puppeteer.
3.8.0 (9 avril 2024)
- Mettre à jour le JavaScript émis pour cibler ECMAScript 2018 (ES2018) au lieu de ECMAScript 2015 (ES2015).
3.7.0 (21 mars 2024)
- Aucun changement visible pour l'utilisateur
3.6.0 (7 mars 2024)
- Dans l'intégration Cypress, empêcher les événements
after:runsi aucun test n'a été exécuté. - Changé le format de l'URL de téléchargement pour Chromedriver car l'équipe Chromedriver a adopté une nouvelle solution d'hébergement. Cela affecte WebdriverIO.
3.5.0 (25 janvier 2024)
- Correction d'un problème où l'appel de la méthode
Page.goto()de Playwright enregistrait incorrectement deux états de page. - Correction d'un problème dans l'intégration Cypress qui provoquait l'ignorance de certaines configurations utilisateur de
setupNodeEvents. - Ajout de
eventemitter3comme dépendance requise. - Enveloppé certaines méthodes Playwright qui n'avaient pas été intégrées précédemment.
3.4.0 (12 décembre 2023)
- Correction d'un problème où les états de page étaient perdus ou des erreurs se produisaient lorsque les tests provoquaient des navigations de page.
- Suppression de quelques codes redondants dans l'intégration Cypress.
3.3.0 (7 décembre 2023)
- Aucun changement visible pour l'utilisateur
3.2.0 (9 novembre 2023)
- Aucun changement visible pour l'utilisateur
3.1.1 (12 octobre 2023)
- Aucun changement visible pour l'utilisateur
3.1.0 (14 septembre 2023)
- Toutes les intégrations permettent désormais
--headless=new.
3.0.0 (8 septembre 2023)
Pour traiter les cas où analyze() n'était pas appelé de manière inattendue, les fonctions suivantes devaient être rendues obsolètes et remplacées :
| Fonction dépréciée | Nouvelle fonction |
|---|---|
wrapPlaywright(browserContext, controller) |
wrapPlaywrightPage(page, controller) |
wrapPuppeteer(context, controller) |
wrapPuppeteerPage(page, controller) |
L'utilisation des fonctions dépréciées générera une erreur.
