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.3.0 (12 de mayo de 2026)
- Correcciones de Errores
- Se corrigió una condición de carrera en la integración de Java donde cambiar el contexto del navegador a un iframe activaba incorrectamente los escaneos, causando que se registraran resultados adicionales.
- Actualizado axe-core a la versión 4.11.4.
4.2.0 (6 de abril de 2026)
-
Funciones
- Se extendió la opción
gitpara admitir el suministro de metadatos explícitos de Git. En JavaScript/TypeScript, la propiedadgitahora acepta un objetoAxeConfigurationademás de un booleano. En Java,GitConfigtiene un nuevo métodoAxeWatcherOptions. Cuando se proporciona un objetosetGitInfo(AxeWatcherGitInfo)oGitConfig, 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 que está separado del repositorio bajo prueba, o en entornos CI donde la detección automática de Git es poco confiable. VeaAxeWatcherGitInfoProporcionar Metadatos de Git para más información. Correcciones de Errores
- Se extendió la opción
-
Se corrigió un problema donde llamar a
- mientras los resultados aún estaban siendo procesados podía producir resultados incompletos. (Integración de JavaScript/TypeScript)
flush()Se corrigió un problema en la integración de Java/Selenium donde las excepciones de - no se mostraban correctamente, causando que las esperas explícitas fallaran inmediatamente en lugar de esperar a que el elemento apareciera.
findElement()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 corrigió un problema en la integración de Java donde pasar
- a ciertos métodos de configuración causaba una excepción no controlada. Estos métodos ahora lanzan una
nullcon un mensaje descriptivo.IllegalArgumentException4.1.0 (24 de febrero de 2026)
- mientras los resultados aún estaban siendo procesados podía producir resultados incompletos. (Integración de JavaScript/TypeScript)
Funciones
-
Watcher ahora escanea automáticamente todos los iframes de mismo origen. (La integración de 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 francés de accesibilidad). Establezca
- en
accessibilityStandard: 'RGAAv4'(JavaScript/TypeScript) o useConfigurationOverrides(Java). Requiere la versión 4.11.0 o posterior de axe-core. La configuración global determina si este estándar está permitido para su organización.ConfigurationOverrides.AccessibilityStandard.RGAAV4Se añadió una opción - para
git(JavaScript/TypeScript) yAxeConfiguration(Java) para controlar si se recopila información de Git. EstablezcaAxeWatcherOptions(JavaScript/TypeScript) o llame agit: false(Java) para ejecutar Watcher sin recopilar datos de Git. El valor predeterminado essetGit(false)(se recopila información de Git).trueActualizado axe-core a la versión 4.11.1. - Correcciones de Errores
-
Se corrigió un problema en la integración de Java donde una ruta personalizada del binario de Chrome configurada a través de
- en el objeto
setBinary()sería sobrescrita al pasar aChromeOptions.configure()4.0.0 (3 de diciembre de 2025)
- en el objeto
Watcher 4.0.0 es una versión principal del paquete Watcher.
Watcher 4.0.0 is a major release of the Watcher package.
-
**Características**
- Se ha añadido soporte para proxy. Consulte Uso de Watcher con un Proxy para más información. (La implementación del proxy HTTP requiere la versión 20.18.1 de Node.js o posterior).
- Se ha actualizado la versión de axe-core a 4.11.0.
- Se ha añadido soporte para la versión 24 de Node.js.
-
**Corrección de errores**
- Se corrigió un problema al reportar información de Git al usar un pipeline de GitLab.
- Se mejoró el manejo de errores para alternativas de Chrome como Chrome para Testing y Chromium.
- Se maneja correctamente la información de Git vacía.
- Se incluyen todas las opciones de Chrome proporcionadas por el usuario para WebdriverIO.
-
**Cambios importantes**
-
Watcher (para TypeScript y JavaScript) ahora utiliza nuevas rutas para importar el paquete. Consulte las 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 de 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 compatible que estuvieran usando conLaunchOptions; de lo contrario, su TypeScript fallará al 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 la versión 139 de Chrome y posteriores (tanto para la implementación de JavaScript/TypeScript como para la de Java). - Se informa de un fallo si se excede el número máximo de reintentos para cargar los resultados fallidos (
Flush: Failed. Maximum retries reached). - Se corrigieron los problemas con el manejo de Chrome para Testing y Chromium.
- Se registra si se ha alcanzado el máximo de reintentos.
- Se implementó la prueba de componentes en la integración de Cypress.
3.22.0 (1 de julio de 2025)
- Asegúrese de que
runOptionsno incluya ningúnnullvalores, lo que 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
META-INFdirectorio. - 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.
- Se implementó un medio alternativo para determinar el nombre predeterminado de la rama de Git.
- Se corrigió un problema con la integración de Cypress donde los largos tiempos de
wait() causaban estados de página duplicados o fallas en las pruebas. - Se corrigió un problema donde
runOptions.runOnlyno funcionaba correctamente con la integración de Cypress.
3.20.2 (17 de abril de 2025)
- Se corrigió un problema con los mensajes de error de tiempo de espera que especificaban el parámetro incorrecto para cambiar. (Por ejemplo, se indicaba al usuario cambiar
timeoutStarten lugar del valor correctotimeout.start.)
3.20.1 (25 de marzo de 2025)
-
**Características**
- Permitir seleccionar versiones anteriores de axe-core.
- Se hizo más robusto el vaciado de resultados al servidor.
-
**Corrección de errores**
- Se corrigió un problema al consolidar configuraciones globales con sobreescrituras de configuraciones de usuario.
- Se corrigió una condición de carrera en la integración de Cypress.
- Se corrigió un problema con la integración de Cypress donde no se habilitaban las reglas experimentales.
- Se corrigió un problema donde no se respetaba la habilitación del estándar EN 301 549.
- Se corrigió un problema con
configurationOverridessi no se establecían valores. - Se añadió validación adicional para Playwright y Playwright Test.
- Se corrigió un problema al intentar seleccionar versiones de axe-core sin un número de versión de parche.
- Se mejoró la lógica para combinar configuraciones de usuario con configuraciones globales.
- Se mejoró el manejo de la versión de axe-core cuando no se
configurationOverridesproporcionaba. - Se mejoró el mensaje de error para un estándar de accesibilidad no permitido en
configurationOverrides. - Se corrigieron mensajes de error para incluir un enlace a la documentación de solución de problemas.
- Se mejoró el manejo de errores al enviar resultados al servidor, lo que anteriormente causaba que el conjunto de pruebas se detuviera.
3.20.0
- No lanzado
3.19.1 (25 de febrero de 2025)
- Se corrigió un problema con la captura de estados de página.
- Asegurarse de que los conjuntos de pruebas que especifican
--disable-extensionsno desactiven Watcher.
3.19.0 (20 de enero de 2025)
- Se mejoró el mensaje de error con versiones de Playwright y Playwright Test 1.49.0 o superiores al usar el
headlessparámetro cuando elchannelparámetro está configurado parafirefox. (Solo se admiten los canaleschromiumochromecon modo completamente gráfico o el nuevo modo sin gráficos.) - Se mejoró la verificación de versiones para axe-core.
- Soporte para configuraciones globales.
3.18.0 (18 de diciembre de 2024)
- Se corrigieron varios problemas de manejo de sesiones, que podrían causar resultados erróneos o vacíos en el sitio web.
- Se añadió soporte para el nuevo Chromium headless en Playwright versiones >= 4.91. Ver Probar el nuevo Chromium headless en las notas de la versión 4.91 de Playwright.
- Se añadieron valores de tiempo de espera personalizados para permitir a los usuarios controlar la gestión 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 compatible (cualquier protocolo que no sea *https*, *http*, o *file*) o en la página *about:blank* resultará en un error.
- Ahora Watcher lanza un error si no está configurado antes de usarse.
-
**Corrección de errores**
- Se solucionó un problema en Playwright Test donde las sesiones se reutilizaban, causando que los resultados fueran sobrescritos.
- Se corrigieron varios otros problemas al crear y gestionar sesiones.
- En modo manual, al llamar al método del controlador
start()ahora se marca el DOM de la página actual como limpio, por lo que no se captura el estado de la página. - En modo manual, se corrigió un problema donde a veces se capturaba un estado adicional de la página cuando
flush()era llamado. - Se corrigió un problema que causaba un estado de página faltante cuando
cy.axeWatcherAnalyze()era llamado después decy.click()era llamado sin una llamada decy.wait()llamada. - 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 desactivar el modo automático. - Se cambió el comportamiento de Watcher para que si está en modo manual, no se analice la página si el método del controlador
stop()es llamado. - Se solucionó un problema en la integración de Playwright que causaba que los métodos envueltos devolvieran tipos incorrectos.
- Se corrigió 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 solucionó un problema de dependencia transitiva que involucraba comandos de Cypress.
3.15.2 (13 de septiembre de 2024)
- Se añadió soporte para WebdriverIO versión 9 (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)
- Sin 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 antes llamar a
cypressConfig(). - Se corrigió un error que aparecía bajo ciertas condiciones en Cypress al importar el
osmódulo. - Se añadió
buildIDaAxeConfigurationpara ejecuciones de pruebas en paralelo. - Se ha desaprobado
sessionIDenAxeConfigurationen favor debuildID. - Se corrigió 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 del código.
3.14.1
- No lanzado
3.14.0
- No lanzado
3.13.1 (19 de julio de 2024)
- Permitir excluir URLs del escaneo de análisis utilizando la opción
excludeUrlPatterns. VerexcludUrlPatterns.
3.13.0
- No lanzado
3.12.0 (16 de julio de 2024)
- Mejorado el manejo del remonte de componentes en Cypress.
- Asegurarse de que Watcher se pueda cargar en WebdriverIO versión 7.
- Añadido soporte para Puppeteer
locator. - Añadida la configuración de
runContextyrunOptionspara axe-core. VerrunContextyrunOptions.
3.11.1 (26 de junio de 2024)
- Se corrigió un problema donde los valores de retorno de los manejadores externos en
setupNodeEventsCypress no se propagaban. - Se cambió el comportamiento para permitir que la extensión de Chrome de Cypress se cargue.
3.11.0 (17 de junio de 2024)
- Se abordó un problema donde el desmonte y remonte de 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 vaciar los resultados en Cypress.
3.10.0 (16 de mayo de 2024)
- Se corrigió un problema en Cypress donde el objeto
configdevuelto desdesetupNodeEventsno se propagaba correctamente y cualquier cambio realizado se perdía. - Se corrigió la implementación de funciones proxied (para Playwright Test) que había resultado en un error con ",
"context": "paragraph
Locatorobjetos: ", "context": "paragraph solo se puede usar con el objeto Locator", "context": "emphasized text.", "context": "paragraph - Se envolvieron dos nuevas funciones de Playwright de la versión 1.43.1.", "context": "paragraph
3.9.0 (30 de abril de 2024)", "context": "heading level 2
- Se añadieron tipos compatibles retroactivamente para la versión 20 de Puppeteer.", "context": "paragraph
- Para Cypress, se deprecó ",
"context": "paragraph
axeAnalyze(), ", "context": "paragraphaxeFlush(), ", "context": "paragraphaxeStart(), y ", "context": "paragraphaxeStop(). Reemplazados por ", "context": "paragraphaxeWatcherAnalyze(), ", "context": "paragraphaxeWatcherFlush(), ", "context": "paragraphaxeWatcherStart(), y ", "context": "paragraphaxeWatcherStop().", "context": "paragraph - Se corrigió un ",
"context": "paragraph
TypeErroren ciertos hooks de Puppeteer versión 21 (y posteriores).", "context": "paragraph
3.8.0 (9 de abril de 2024)", "context": "heading level 2
- Actualizar el JavaScript emitido para apuntar a ECMAScript 2018 (", "context": "paragraphES2018", "context": "link text) en lugar de ECMAScript 2015 (", "context": "paragraphES2015", "context": "link text).", "context": "paragraph
3.7.0 (21 de marzo de 2024)", "context": "heading level 2
- No hay cambios visibles para el usuario", "context": "paragraph
3.6.0 (7 de marzo de 2024)", "context": "heading level 2
- En la integración de Cypress, prevenir ",
"context": "paragraph
after:runeventos si no se ejecutaron pruebas.", "context": "paragraph - Se cambió el formato de la URL de descarga de Chromedriver porque el equipo de Chromedriver se trasladó a una nueva solución de alojamiento. Impacta WebdriverIO.", "context": "paragraph
3.5.0 (25 de enero de 2024)", "context": "heading level 2
- Se corrigió un problema donde llamar a ",
"context": "paragraph
Page.goto()de Playwright registraba incorrectamente dos estados de página.", "context": "paragraph - Se corrigió un problema en la integración de Cypress que causaba que ciertas configuraciones de usuario de ",
"context": "paragraph
setupNodeEventsfueran ignoradas.", "context": "paragraph - Se añadió ",
"context": "paragraph
eventemitter3como una dependencia obligatoria.", "context": "paragraph - Se envolvieron", "context": "link text algunos métodos de Playwright que no se habían envuelto antes.", "context": "paragraph
3.4.0 (12 de diciembre de 2023)", "context": "heading level 2
- Se corrigió un problema donde los estados de la página se perdían o se producían errores cuando las pruebas provocaban navegaciones de página.", "context": "paragraph
- Se eliminaron algunos códigos redundantes de la integración de Cypress.", "context": "paragraph
3.3.0 (7 de diciembre de 2023)", "context": "heading level 2
- No hay cambios visibles para el usuario", "context": "paragraph
3.2.0 (9 de noviembre de 2023)", "context": "heading level 2
- No hay cambios visibles para el usuario", "context": "paragraph
3.1.1 (12 de octubre de 2023)", "context": "heading level 2
- No hay cambios visibles para el usuario", "context": "paragraph
3.1.0 (14 de septiembre de 2023)", "context": "heading level 2
- Todas las integraciones ahora permiten ",
"context": "paragraph
--headless=new.
3.0.0 (8 de septiembre de 2023)
Para abordar casos en los que analyze() no se llamaba inesperadamente, las siguientes funciones necesitaban 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.
