Notas de lanzamiento del paquete 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

Notas de lanzamiento que describen los cambios en el paquete Watcher para la versión 3.0.0 y posteriores

Not for use with personal data

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 git para admitir la provisión de metadatos explícitos de Git. En JavaScript/TypeScript, la propiedad git ahora acepta un objeto AxeConfiguration además de un booleano. En Java, GitConfig tiene un nuevo método AxeWatcherOptions . Cuando se proporciona un setGitInfo(AxeWatcherGitInfo) o un objeto GitConfig , 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 es poco confiable. Consulte AxeWatcherGitInfo Provisión de Metadatos de Git Providing Git Metadata para obtener más información.
  • Corrección de errores

    • Se corrigió un problema donde llamar a flush() mientras los resultados aún se procesaban podía producir resultados incompletos. (Integración de JavaScript/TypeScript)
    • Se corrigió un problema en la integración de Java/Selenium donde las excepciones de findElement() no se mostraban correctamente, lo que provocaba que las esperas explícitas fallaran inmediatamente en lugar de esperar a que el elemento apareciera.
    • 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 null a ciertos métodos de configuración causaba una excepción no manejada. Estos métodos ahora lanzan una IllegalArgumentException con un mensaje descriptivo.

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 agregó soporte para la RGAA v4 (estándar de accesibilidad francés). Configure accessibilityStandard: 'RGAAv4' en ConfigurationOverrides (JavaScript/TypeScript) o use ConfigurationOverrides.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 agregó una opción git para AxeConfiguration (JavaScript/TypeScript) y AxeWatcherOptions (Java) para controlar si se recopila información de Git. Configure git: false (JavaScript/TypeScript) o llame a setGit(false) (Java) para ejecutar Watcher sin recopilar datos de Git. El valor predeterminado es true (se recopila información de Git).
    • Se actualizó axe-core a la versión 4.11.1.
  • Corrección de errores

    • Se corrigió un problema en la integración de Java donde una ruta binaria de Chrome personalizada configurada a través de setBinary() en el objeto ChromeOptions se sobrescribía al pasarlo a configure().

4.0.0 (3 de diciembre de 2025)

Watcher 4.0.0 es una versión principal del paquete Watcher.

  • **Características**

    • Se agregó soporte para proxy. Consulte 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 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/config
      Comandos de Cypress @axe-core/watcher/dist/cypressCommands @axe-core/watcher/cypress/support
      Playwright @axe-core/watcher @axe-core/watcher/playwright
      Prueba de Playwright @axe-core/watcher @axe-core/watcher/playwright-test
      Puppeteer @axe-core/watcher @axe-core/watcher/puppeteer
      WebdriverIO @axe-core/watcher @axe-core/watcher/wdio
      Testrunner de WebdriverIO @axe-core/watcher @axe-core/watcher/wdio
      WebDriverJS @axe-core/watcher @axe-core/watcher/webdriver

      Ejemplo en JavaScript para WebDriverJS:

      const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver')
    • Se reemplazó la especificación incorrecta de LaunchOptions en TypeScript para Playwright con un nuevo tipo llamado LaunchPersistentContextOptions, extraído dinámicamente de launchPersistentContext. Los usuarios deberán eliminar cualquier opción no compatible que estuvieran usando con LaunchOptions; 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-extensions con la versión 139 y posteriores de Chrome (tanto para la implementación en JavaScript/TypeScript como para la implementación en Java).
  • Informe de fallo si se exceden los intentos máximos de subida 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)

  • Asegúrese de que runOptions no incluya ningún valor null , que causó un fallo silencioso en la integración de Java.
  • Asegúrese de que el archivo de licencia para la implementación en 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 largos wait() tiempos causarían estados de página duplicados o fallos en la prueba.
  • Se solucionó un problema donde runOptions.runOnly no 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 dirigía al usuario a cambiar timeoutStart en lugar del correcto timeout.start valor.)

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 configurationOverrides si 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.
    • Se mejoró la gestión de la versión de axe-core cuando no se configurationOverrides proporcionó.
    • Se mejoró 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 usando switchToFrame() (WebdriverIO o WebDriverJS) o switchTo().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. Ver 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-extensions no 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 mayores al usar el parámetro headless cuando el parámetro channel está configurado a firefox. (Solo los canales chromium o chrome son 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 sin cabeza en las versiones de Playwright >= 4.91. Ver Probar nuevo Chromium sin cabeza en las notas de la versión de Playwright 4.91.
  • 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 compatible (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, 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 de página adicional cuando se llamaba a flush() .
    • Se corrigió un problema que causaba un estado de página faltante cuando cy.axeWatcherAnalyze() se llamaba después de cy.click() sin una llamada a cy.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 desactivar 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 del controlador stop() .
    • Se corrigió un problema en la integración de Playwright que hacía que los métodos envueltos devolvieran tipos incorrectos.
    • Se corrigió un problema que impedía que runOptions aceptara solo una opción.

3.17.1

  • No liberado

3.17.0

  • No liberado

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 hubo 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 primero llamar a cypressConfig().
  • Se corrigió un error que aparecía en ciertas condiciones en Cypress al importar el os módulo.
  • Se añadió buildID a AxeConfiguration para ejecuciones paralelas de pruebas.
  • Se declaró obsoleto sessionID en AxeConfiguration a favor de buildID.
  • 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 gracias 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 de la exploración de análisis usando la opción excludeUrlPatterns . Ver excludUrlPatterns.

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 añadió soporte para Puppeteer locator .
  • Se añadió configuración de runContext y runOptions para axe-core. Ver runContext y runOptions.

3.11.1 (26 de junio de 2024)

  • Se corrigió un problema en el que los valores de retorno de los controladores externos setupNodeEvents 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 solucionó un problema en Cypress donde el config objeto devuelto de setupNodeEvents no se propagaba correctamente y cualquier cambio realizado en él se perdía.
  • Se corrigió la implementación de funciones proxy (para Playwright Test) que había resultado en un error con Locator objetos: 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 deprecó axeAnalyze(), axeFlush(), axeStart(), y axeStop(). Reemplazado por axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart(), y axeWatcherStop().
  • Se corrigió un TypeError en ciertos hooks de la versión 21 de Puppeteer (y posteriores).

3.8.0 (9 de abril de 2024)

  • Se actualizó el JavaScript emitido para apuntar a ECMAScript 2018 (ES2018) en lugar de ECMAScript 2015 (ES2015).

3.7.0 (21 de marzo de 2024)

  • Sin cambios visibles para el usuario

3.6.0 (7 de marzo de 2024)

  • En la integración de Cypress, se previenen after:run eventos si no se ejecutaron 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 corrigió un problema donde al llamar al método de Playwright Page.goto() se registraban incorrectamente dos estados de página.
  • Se resolvió un problema en la integración de Cypress que causaba que ciertas configuraciones del usuario de setupNodeEvents fueran ignoradas.
  • Se agregó eventemitter3 como una dependencia requerida.
  • Se envolvieron algunos métodos de Playwright que no habían sido envueltos anteriormente.

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)

  • Sin 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 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.