Notas de lanzamiento del paquete Watcher
Notas de lanzamiento que describen los cambios en el paquete Watcher para la versión 3.0.0 y posteriores
4.5.1 (16 de julio de 2026)
-
**Características**
- Se eliminó el soporte para Node.js 20, que había llegado a su fin de vida. Axe Watcher ahora requiere Node.js 22.11.0 o posterior. (integraciones JavaScript/TypeScript)
- Ahora se admite Microsoft Edge (Chromium) con la integración Java Selenium. Anteriormente, Edge estaba disponible con todas las integraciones excepto Java Selenium. (integración Java Selenium)
-
**Corrección de errores**
- Se solucionó un problema en la integración de Cypress donde las capturas de pantalla capturadas no se subían a Axe Developer Hub. (integración Cypress)
- Se solucionó un problema donde ejecutar múltiples pruebas simultáneamente con diferentes IDs de proyecto podía causar que la configuración de una ejecución sobrescribiera la de otra. (integraciones JavaScript/TypeScript)
4.5.0 (6 de julio de 2026)
- **Características**
- Axe Watcher ahora admite oficialmente Microsoft Edge (Chromium) como navegador de prueba, junto con Chrome for Testing, Chrome y Chromium. Edge está disponible con las integraciones de JavaScript/TypeScript y con Java Playwright; no es compatible con Java Selenium.
4.4.0 (12 de junio de 2026)
-
**Características**
- Las exploraciones ahora incluyen automáticamente la ruta y el nombre del archivo de prueba de origen en Axe Developer Hub. (Integraciones de Playwright Test, Cypress y WebdriverIO)
- El SDK de Java ahora es compatible con Playwright además de Selenium. El artefacto
com.deque.axe_core:watcherse envía con soporte para Playwright. Consulte la documentación de Java con Playwright para obtener instrucciones de integración. - La integración de Java/Playwright captura capturas de pantalla de violaciones. Las capturas de pantalla se cargan en el servidor y se guardan localmente cuando se configura un
screenshotDir. - Se añadió
setScreenshotDir()aAxeWatcherOptions(Java). Úselo para especificar un directorio local para guardar capturas de pantalla. Las capturas se guardan localmente incluso cuando el servidor no está disponible. - Se añadió
setTestContext()tanto aAxeWatcherController(Selenium) como aAxeWatcherPlaywrightController(Playwright) en el SDK de Java. Úselo para atribuir violaciones a pruebas específicas en Axe Developer Hub. - Las capturas de pantalla guardadas localmente ahora usan un nombre de archivo prefijado con marca de tiempo (
YYYYMMDDTHHmmssSSS-{id}.png) para que los archivos se ordenen de manera determinista por tiempo de captura. - Se añadió una opción de configuración
elementInternals. ConfigureelementInternals: trueenAxeConfiguration(JavaScript/TypeScript) o llame asetElementInternals(true)enAxeWatcherOptions(Java) para incluir datos de accesibilidad de ElementInternals en las exploraciones. Esto reduce falsos positivos en páginas que usan elementos personalizados conattachInternals(). Requiere axe-core versión 4.12.0 o posterior. - Se actualizó axe-core a la versión 4.12.1.
-
**Corrección de errores**
- Se solucionó un problema donde al llamar a
analyze()(oaxeWatcherAnalyze()en Cypress) podría causar que se subiera un resultado de exploración duplicado al final de la prueba. - Se solucionó un problema donde dos solicitudes de vaciado que llegaban al mismo tiempo podían causar que los resultados de la exploración se subieran más de una vez.
- Se solucionó un problema donde Watcher se ejecutaba en todos los marcos hijos, provocando que se subieran estados de página duplicados. Ahora, Watcher se ejecuta solo en el marco superior. La cobertura de accesibilidad del contenido de los iframes no cambia; axe-core sigue ejecutándose en todos los marcos y el marco superior une sus resultados.
- Mejora en el rendimiento para pruebas que capturan muchos estados de página. El almacenamiento de resultados ahora se escribe en tiempo constante por exploración en lugar de crecer con el número total de resultados acumulados.
- Mejorada la validación para
setHeadless()ysetChannel()en la integración de Java/Playwright. Las combinaciones incorrectas ahora generanIllegalArgumentExceptioncon un mensaje accionable en lugar de fallar silenciosamente o producir un comportamiento inesperado. - Se solucionó un problema donde los patrones de URL excluidos no siempre se respetaban si una solicitud de vaciado llegaba antes de que Watcher terminara de cargar su configuración.
- Se solucionó un problema donde al llamar a
4.3.0 (12 de mayo de 2026)
- **Corrección de errores**
- Se corrigió una condición de carrera en la integración de Java donde cambiar el contexto del navegador a un iframe desencadenaba incorrectamente exploraciones, lo que provocaba que se registraran resultados adicionales.
- Se actualizó axe-core a la versión 4.11.4.
4.2.0 (6 de abril de 2026)
-
**Características**
- Se extendió la opción
gitpara admitir la provisión de metadatos de Git explícitos. En JavaScript/TypeScript, la propiedadgitenAxeConfigurationahora acepta un objetoGitConfigademás de un booleano. En Java,AxeWatcherOptionstiene un nuevo métodosetGitInfo(AxeWatcherGitInfo). Cuando se proporciona un objetoGitConfigoAxeWatcherGitInfo, se omite la detección automática de Git. Todos los campos son opcionales. Esto es útil cuando las pruebas se ejecutan en un repositorio separado del repositorio bajo prueba, o en entornos CI donde la detección automática de Git no es confiable. Consulte Proporcionando Metadatos de Git para más información.
- Se extendió la opción
-
**Corrección de errores**
- Se solucionó un problema donde al llamar a
flush()mientras los resultados aún se procesaban podía producir resultados incompletos. (Integración de JavaScript/TypeScript) - Se solucionó un problema en la integración de Java/Selenium donde las excepciones de
findElement()no se mostraban correctamente, causando que las esperas explícitas fallaran inmediatamente en lugar de esperar que apareciera el elemento. - Se mejoró la fiabilidad en la integración de Java: Watcher ahora reintenta automáticamente enviar resultados al servidor hasta tres veces cuando se encuentra un error transitorio.
- Se solucionó un problema en la integración de Java donde pasar
nulla ciertos métodos configuradores de configuración causaba una excepción no manejada. Estos métodos ahora lanzan unIllegalArgumentExceptioncon un mensaje descriptivo.
- Se solucionó un problema donde al llamar a
4.1.0 (24 de febrero de 2026)
-
**Características**
- Watcher ahora explora automáticamente todos los iframes de mismo origen. (La integración con Cypress ya tenía este comportamiento). Esto se aplica a las integraciones Playwright, Puppeteer, WebdriverIO, WebDriverJS y Java Selenium.
- Se añadió soporte para el RGAA v4 (estándar de accesibilidad francés). Configure
accessibilityStandard: 'RGAAv4'enConfigurationOverrides(JavaScript/TypeScript) o useConfigurationOverrides.AccessibilityStandard.RGAAV4(Java). Requiere axe-core versión 4.11.0 o posterior. La configuración global determina si este estándar está permitido para su organización. - Se añadió una opción
gitaAxeConfiguration(JavaScript/TypeScript) yAxeWatcherOptions(Java) para controlar si se recopila información de Git. Configuregit: false(JavaScript/TypeScript) o llame asetGit(false)(Java) para ejecutar Watcher sin recopilar datos de Git. El valor predeterminado estrue(se recopila información de Git). - Se actualizó axe-core a la versión 4.11.1.
-
**Corrección de errores**
- Se solucionó un problema en la integración de Java donde una ruta binaria de Chrome personalizada configurada a través de
setBinary()en el objetoChromeOptionssería sobrescrita cuando se pasaba aconfigure().
- Se solucionó un problema en la integración de Java donde una ruta binaria de Chrome personalizada configurada a través de
4.0.0 (3 de diciembre de 2025)
Watcher 4.0.0 es una versión principal del paquete Watcher.
-
**Características**
- Se añadió soporte para proxy. Vea Usando Watcher con un Proxy para más información. (La implementación del proxy HTTP requiere Node.js versión 20.18.1 o posterior).
- Se actualizó la versión de axe-core a 4.11.0.
- Se añadió soporte para Node.js versión 24.
-
**Corrección de errores**
- Se corrigió un problema al informar información de Git cuando se utiliza un pipeline de GitLab.
- Se mejoró el manejo de errores para alternativas de Chrome como Chrome for Testing y Chromium.
- Se gestionaron correctamente los datos vacíos de Git.
- Incluya todas las opciones de Chrome proporcionadas por el usuario para WebdriverIO.
-
**Cambios que rompen compatibilidad**
-
Watcher (para TypeScript y JavaScript) ahora utiliza nuevas rutas para importar el paquete. Vea el instrucciones para su paquete de integración de navegador para ver ejemplos de código actualizados.
Plataforma de Automatización de Navegadores Ruta Antigua Nueva Ruta Cypress @axe-core/watcher@axe-core/watcher/cypress/configComandos de Cypress @axe-core/watcher/dist/cypressCommands@axe-core/watcher/cypress/supportPlaywright @axe-core/watcher@axe-core/watcher/playwrightPrueba de Playwright @axe-core/watcher@axe-core/watcher/playwright-testPuppeteer @axe-core/watcher@axe-core/watcher/puppeteerWebdriverIO @axe-core/watcher@axe-core/watcher/wdioTestrunner de WebdriverIO @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverEjemplo en JavaScript para WebDriverJS:
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Se reemplazó la especificación incorrecta de
LaunchOptionsen TypeScript para Playwright con un nuevo tipo llamadoLaunchPersistentContextOptions, extraído dinámicamente delaunchPersistentContext. Los usuarios necesitarán eliminar cualquier opción no soportada que estuvieran usando conLaunchOptions; de lo contrario, su TypeScript no se compilará en modo estricto.
-
3.23.0 (1 de agosto de 2025)
- Se mejoró la lógica de tiempo de espera y reintentos al enviar resultados al servidor (para Watcher para JavaScript y TypeScript).
- Se añadió una advertencia sobre la opción
--load-extensionscon Chrome versión 139 y posteriores (tanto para la implementación de JavaScript/TypeScript como de Java). - Informe de error si se supera el máximo de intentos para la carga de resultados fallidos (
Flush: Failed. Maximum retries reached). - Se solucionaron problemas con el manejo de Chrome for Testing y Chromium.
- Registrar si se han alcanzado los intentos máximos.
- Se implementó la prueba de componentes en la integración con Cypress.
3.22.0 (1 de julio de 2025)
- Garantice que
runOptionsno incluya valoresnull, lo cual causó un fallo silencioso en la integración de Java. - Asegúrese de que el archivo de licencia para la implementación de Java se copie en el directorio
META-INF. - Se corrigió un problema donde los patrones de URL excluidos no se copiaban correctamente en Java.
- Se mejoró el método para determinar la rama predeterminada de Git.
3.21.0 (23 de mayo de 2025)
- Java Watcher lanzado.
- Implementado un método alternativo para determinar el nombre predeterminado de la rama de Git.
- Se solucionó un problema con la integración de Cypress donde los tiempos largos de
wait() causaban estados de página duplicados o fallos de prueba. - Se solucionó un problema donde
runOptions.runOnlyno funcionaba correctamente con la integración de Cypress.
3.20.2 (17 de abril de 2025)
- Se solucionó un problema con los mensajes de error de tiempo de espera que especificaban el parámetro incorrecto a cambiar. (Por ejemplo, se indicaba al usuario que cambiara
timeoutStarten lugar del valor correctotimeout.start.)
3.20.1 (25 de marzo de 2025)
-
**Características**
- Permitir seleccionar versiones anteriores de axe-core.
- Se mejoró el envió de resultados al servidor para que sea más robusto.
-
**Corrección de errores**
- Se solucionó un problema al consolidar configuraciones globales con anulaciones de configuración del usuario.
- Se solucionó una condición de carrera en la integración de Cypress.
- Se solucionó un problema con la integración de Cypress donde no se habilitaban las reglas experimentales.
- Se solucionó un problema donde no se respetaba la habilitación del estándar EN 301 549.
- Se solucionó un problema con
configurationOverridessi no se establecían valores. - Se añadió validación adicional para Playwright y Playwright Test.
- Se solucionó un problema al intentar seleccionar versiones de axe-core sin un número de versión de parche.
- Se mejoró la lógica para fusionar configuraciones de usuario con configuraciones globales.
- Mejorada la gestión de la versión de axe-core cuando no se proporciona
configurationOverrides. - Mejorado el mensaje de error para un estándar de accesibilidad no permitido en
configurationOverrides. - Se corrigieron los mensajes de error para incluir un enlace a la documentación de resolución de problemas.
- Se mejoró el manejo de errores al enviar resultados al servidor, lo que anteriormente causaba la detención del conjunto de pruebas.
3.20.0
- No lanzado
3.19.1 (25 de febrero de 2025)
- Se solucionó un problema donde llamar a un método envuelto (como
click()) después de cambiar el contexto del navegador a un marco hijo usandoswitchToFrame()(WebdriverIO o WebDriverJS) oswitchTo().frame()(Java Selenium) causaba un tiempo de espera de análisis. Axe Watcher ahora omite el análisis cuando no está en el marco de nivel superior. Vea No se capturan estados de página después de cambiar a un marco hijo para más información. - Asegúrese de que los conjuntos de pruebas que especifican
--disable-extensionsno desactiven Watcher.
3.19.0 (20 de enero de 2025)
- Mejorado el mensaje de error con Playwright y Playwright Test versiones 1.49.0 o superiores al usar el parámetro
headlesscuando el parámetrochannelestá configurado enfirefox. (Solo los canaleschromiumochromeson compatibles con el modo totalmente encabezado o el nuevo modo sin encabezado.) - Mejorada la verificación de versión para axe-core.
- Soporte para configuraciones globales.
3.18.0 (18 de diciembre de 2024)
- Se corrigieron varios problemas de manejo de sesiones, que podían causar que aparecieran resultados erróneos o vacíos en el sitio web.
- Se añadió soporte para el nuevo Chromium headless en Playwright versiones >= 4.91. Vea Probar nuevo Chromium sin cabeza en las notas de la versión 4.91 de Playwright.
- Se añadieron valores de tiempo de espera personalizados para permitir que los usuarios controlen el manejo de sesiones.
3.17.2 (12 de diciembre de 2024)
-
**Características**
- Se añadió el modo manual a Watcher.
- Ejecutar un análisis en un protocolo no soportado (cualquier protocolo que no sea *https*, *http*, o *file*) o en la página *about:blank* resultará en un error.
- Ahora Watcher arroja un error si no se configura antes de su uso.
-
**Corrección de errores**
- Se corrigió un problema en Playwright Test donde las sesiones se reutilizaban, causando que los resultados fueran sobrescritos.
- Se corrigieron varios otros problemas con la creación y gestión de sesiones.
- En modo manual, llamar al método
start()del controlador ahora marca el DOM de la página actual como limpio, por lo que no se captura ningún estado de página. - En modo manual, se solucionó un problema donde a veces se capturaba un estado de página adicional al llamar a
flush(). - Se solucionó un problema que causaba la falta de estado de página cuando
cy.axeWatcherAnalyze()se llamaba después de quecy.click()se llamaba sin una llamada acy.wait(). - Ahora se incluye un archivo LICENSES-3RD-PARTY.md actualizado con el paquete @axe-core/watcher.
- El método del controlador
stop()ahora analiza la página si el DOM ha cambiado antes de apagar el modo automático. - Se cambió el comportamiento de Watcher para que si Watcher está en modo manual, no analice la página si se llama al método de control
stop(). - Se corrigió un problema en la integración de Playwright que hacía que los métodos envueltos devolvieran tipos incorrectos.
- Se solucionó un problema que impedía que
runOptionsaceptara solo una opción.
3.17.1
- No lanzado
3.17.0
- No lanzado
3.16.1 (25 de octubre de 2024)
- Se incluyeron licencias de terceros.
3.16.0 (26 de septiembre de 2024)
- Se corrigió un problema de dependencia transitiva que involucraba comandos de Cypress.
3.15.2 (13 de septiembre de 2024)
- Se añadió soporte para la versión 9 de WebdriverIO (mientras se mantiene el soporte para las versiones 7 y 8 de WebdriverIO).
3.15.1
- Omitido (no hubo candidato de lanzamiento)
3.15.0
- No lanzado
3.14.3 (5 de septiembre de 2024)
- No hay cambios visibles para el usuario
3.14.2 (29 de agosto de 2024)
- Se corrigió un error al acceder al valor de tiempo de espera en Cypress.
- Para Cypress, ahora se lanza una excepción si el usuario intenta usar Watcher sin llamar primero a
cypressConfig(). - Se corrigió un error que aparecía bajo ciertas condiciones en Cypress al importar el módulo
os. - Se añadió
buildIDaAxeConfigurationpara ejecuciones de pruebas en paralelo. - Se ha desaprobado
sessionIDenAxeConfigurationen favor debuildID. - Se solucionó un problema que causaba que se capturara un estado de página adicional con Puppeteer debido al manejo de
authenticate(). - Mejoras de rendimiento en Axe Watcher debido a cambios en la ofuscación de código.
3.14.1
- No lanzado
3.14.0
- No lanzado
3.13.1 (19 de julio de 2024)
- Permitir excluir URLs del análisis utilizando la opción
excludeUrlPatterns. VerexcludUrlPatterns.
3.13.0
- No lanzado
3.12.0 (16 de julio de 2024)
- Se mejoró el manejo de la reinstalación de componentes en Cypress.
- Se aseguró que Watcher pueda cargarse en la versión 7 de WebdriverIO.
- Se agregó soporte para Puppeteer
locator. - Se añadió configuración de
runContextyrunOptionspara axe-core. VerrunContextyrunOptions.
3.11.1 (26 de junio de 2024)
- Se solucionó un problema donde los valores de retorno de los controladores
setupNodeEventsexternos en Cypress no se propagaban. - Se cambió el comportamiento para permitir la carga de la extensión de Chrome de Cypress.
3.11.0 (17 de junio de 2024)
- Se abordó un problema en el que desinstalar y reinstalar componentes causaba que las exploraciones de accesibilidad se agotaran en Cypress.
- Se relajó la lógica de detección del navegador para evitar fallas incluso al usar navegadores compatibles.
- Se eliminaron las escrituras en el sistema de archivos al volcar resultados en Cypress.
3.10.0 (16 de mayo de 2024)
- Se corrigió un problema en Cypress donde el objeto
configdevuelto porsetupNodeEventsno se propagaba correctamente y cualquier cambio realizado en él se perdía. - Se corrigió la implementación de funciones proxied (para Playwright Test) que había resultado en un error con los objetos
Locator: solo se puede usar con el objeto Locator. - Se incorporaron dos nuevas funciones de Playwright de la versión 1.43.1.
3.9.0 (30 de abril de 2024)
- Se agregaron tipos compatibles hacia atrás para la versión 20 de Puppeteer.
- Para Cypress, se desaprobaron
axeAnalyze(),axeFlush(),axeStart()yaxeStop(). Reemplazados poraxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart()yaxeWatcherStop(). - Se corrigió un
TypeErroren ciertos hooks de Puppeteer versión 21 (y posteriores).
3.8.0 (9 de abril de 2024)
- Actualizar el JavaScript emitido para apuntar a ECMAScript 2018 (ES2018) en lugar de ECMAScript 2015 (ES2015).
3.7.0 (21 de marzo de 2024)
- No hay cambios visibles para el usuario
3.6.0 (7 de marzo de 2024)
- En la integración con Cypress, prevenir los eventos
after:runsi no se ejecutan pruebas. - Se cambió el formato del URL de descarga para Chromedriver porque el equipo de Chromedriver se mudó a una nueva solución de alojamiento. Impacta a WebdriverIO.
3.5.0 (25 de enero de 2024)
- Se solucionó un problema donde el método
Page.goto()de Playwright registraba incorrectamente dos estados de página. - Se corrigió un problema en la integración de Cypress que causaba que ciertas configuraciones de usuario de
setupNodeEventsfueran ignoradas. - Se añadió
eventemitter3como una dependencia requerida. - Se envolvieron algunos métodos de Playwright que no se habían envuelto antes.
3.4.0 (12 de diciembre de 2023)
- Se solucionó un problema donde se perdían estados de página o ocurrían errores cuando las pruebas causaban navegaciones de la página.
- Se eliminó código redundante de la integración de Cypress.
3.3.0 (7 de diciembre de 2023)
- No hay cambios visibles para el usuario
3.2.0 (9 de noviembre de 2023)
- No hay cambios visibles para el usuario
3.1.1 (12 de octubre de 2023)
- No hay cambios visibles para el usuario
3.1.0 (14 de septiembre de 2023)
- Todas las integraciones ahora permiten
--headless=new.
3.0.0 (8 de septiembre de 2023)
Para abordar casos donde analyze() no se llamaba inesperadamente, las siguientes funciones necesitaron ser desaprobadas y reemplazadas:
| Función desaprobada | Nueva función |
|---|---|
wrapPlaywright(browserContext, controller) |
wrapPlaywrightPage(page, controller) |
wrapPuppeteer(context, controller) |
wrapPuppeteerPage(page, controller) |
El uso de las funciones desaprobadas generará un error.
