Notas de Lançamento do Pacote 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 lançamento descrevendo as mudanças no pacote Watcher para a versão 3.0.0 e posteriores

Not for use with personal data

4.3.0 (12 de maio de 2026)

  • Correções de Bugs
    • Corrigida uma condição de corrida na integração Java onde mudar o contexto do navegador para um iframe acionaria incorretamente varreduras, fazendo com que resultados extras fossem registrados.
    • Atualizado axe-core para a versão 4.11.4.

4.2.0 (6 de abril de 2026)

  • Funcionalidades

    • Extendida a opção git para suportar a provisão de metadados Git explícitos. Em JavaScript/TypeScript, a propriedade git agora aceita um objeto AxeConfiguration além de um booleano. Em Java, GitConfig possui um novo método AxeWatcherOptions . Quando um objeto setGitInfo(AxeWatcherGitInfo) ou GitConfig é fornecido, a detecção automática de Git é ignorada. Todos os campos são opcionais. Isso é útil quando os testes são executados em um repositório separado do repositório em teste, ou em ambientes CI onde a auto-detecção de Git é não confiável. Veja AxeWatcherGitInfo Fornecendo Metadados Git para mais informações. Correções de Bugs
  • Corrigido um problema onde chamar

    • enquanto os resultados ainda estavam sendo processados poderia produzir resultados incompletos. (integração JavaScript/TypeScript) flush() Corrigido um problema na integração Java/Selenium onde exceções de
    • não eram corretamente expostas, fazendo com que esperas explícitas falhassem imediatamente em vez de esperar o elemento aparecer. findElement() Melhorada a confiabilidade na integração Java: o Watcher agora reenvia automaticamente os resultados ao servidor até três vezes quando um erro transitório é encontrado.
    • Corrigido um problema na integração Java onde passar
    • para certos métodos de configuração causava uma exceção não tratada. Esses métodos agora lançam um null com uma mensagem descritiva. IllegalArgumentException 4.1.0 (24 de fevereiro de 2026)

Funcionalidades

  • O Watcher agora escaneia automaticamente todos os iframes de mesma origem. (A integração Cypress já tinha esse comportamento.) Isto se aplica às integrações Playwright, Puppeteer, WebdriverIO, WebDriverJS e Java Selenium.

    • Adicionado suporte para o RGAA v4 (padrão de acessibilidade francês). Defina
    • em accessibilityStandard: 'RGAAv4' (JavaScript/TypeScript) ou use ConfigurationOverrides (Java). Requer a versão 4.11.0 ou posterior do axe-core. A configuração global determina se este padrão é permitido para sua organização. ConfigurationOverrides.AccessibilityStandard.RGAAV4 Adicionada uma opção
    • em git (JavaScript/TypeScript) e AxeConfiguration (Java) para controlar se as informações Git são coletadas. Defina AxeWatcherOptions (JavaScript/TypeScript) ou chame git: false (Java) para executar o Watcher sem coletar dados Git. O padrão é setGit(false) (informações Git são coletadas). true Atualizado axe-core para a versão 4.11.1.
    • Correções de Bugs
  • Corrigido um problema na integração Java onde um caminho de binário Chrome personalizado definido via

    • no objeto setBinary() seria sobrescrito quando passado para ChromeOptions . configure()4.0.0 (3 de dezembro de 2025)

O Watcher 4.0.0 é um lançamento importante do pacote Watcher.

Watcher 4.0.0 is a major release of the Watcher package.

  • **Recursos**

    • Adicionado suporte a proxy. Veja Usando Watcher Com um Proxy para mais informações. (A implementação de proxy HTTP requer Node.js versão 20.18.1 ou posterior).
    • Atualizada a versão do axe-core para 4.11.0.
    • Adicionado suporte para Node.js versão 24.
  • **Correções de Erros**

    • Corrigido um problema ao relatar informações do Git ao usar um pipeline do GitLab.
    • Melhorada a gestão de erros para alternativas do Chrome, como Chrome para Testes e Chromium.
    • Lidar corretamente com dados vazios do Git.
    • Incluir todas as opções de Chrome fornecidas pelo usuário para WebdriverIO.
  • **Alterações Incompatíveis**

    • Watcher (para TypeScript e JavaScript) agora usa novos caminhos para importar o pacote. Veja as instruções para o seu pacote de integração de navegador para ver exemplos de código atualizados.

      Plataforma de Automação de Navegador Caminho Antigo Novo Caminho
      Cypress @axe-core/watcher @axe-core/watcher/cypress/config
      Comandos Cypress @axe-core/watcher/dist/cypressCommands @axe-core/watcher/cypress/support
      Playwright @axe-core/watcher @axe-core/watcher/playwright
      Teste 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 WebdriverIO @axe-core/watcher @axe-core/watcher/wdio
      WebDriverJS @axe-core/watcher @axe-core/watcher/webdriver

      Exemplo de JavaScript para WebDriverJS:

      const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver')
    • Substituída a especificação incorreta de LaunchOptions em TypeScript para Playwright por um novo tipo chamado LaunchPersistentContextOptions, extraído dinamicamente de launchPersistentContext. Os usuários precisarão remover quaisquer opções não suportadas que estavam usando com LaunchOptions; caso contrário, seu TypeScript falhará ao compilar no modo estrito.

3.23.0 (1º de agosto de 2025)

  • Aprimorada a lógica de tempo limite e de repetição ao enviar resultados para o servidor (para Watcher para JavaScript e TypeScript).
  • Adicionado um aviso sobre a opção --load-extensions com a versão 139 do Chrome e posteriores (tanto para a implementação em JavaScript/TypeScript quanto em Java).
  • Relatar falha se o número máximo de tentativas para upload de resultados falhos for excedido (Flush: Failed. Maximum retries reached).
  • Corrigido problemas com o manuseio do Chrome para Testes e Chromium.
  • Registrar se o número máximo de tentativas foi alcançado.
  • Implementado teste de componentes na integração Cypress.

3.22.0 (1º de julho de 2025)

  • Garantir que runOptions não inclua quaisquer valores null , o que causou uma falha silenciosa na integração Java.
  • Garantir que o arquivo de licença para a implementação Java seja copiado para o diretório META-INF .
  • Corrigido um problema onde os padrões de URL excluídos não eram copiados corretamente no Java.
  • Aprimorado o método para determinar a ramificação padrão do Git.

3.21.0 (23 de maio de 2025)

  • Observador Java lançado.
  • Implementada uma forma alternativa de determinar o nome padrão do branch do Git.
  • Corrigido um problema com a integração do Cypress onde tempos longos wait() causariam estados de página duplicados ou falhas no teste.
  • Corrigido um problema onde runOptions.runOnly não funcionava corretamente com a integração do Cypress.

3.20.2 (17 de abril de 2025)

  • Corrigido um problema com as mensagens de erro de tempo limite que especificavam o parâmetro errado a ser alterado. (Por exemplo, o usuário era instruído a mudar timeoutStart em vez do correto valor timeout.start .)

3.20.1 (25 de março de 2025)

  • **Recursos**

    • Permitir a seleção de versões anteriores do axe-core.
    • Tornado o envio de resultados para o servidor mais robusto.
  • **Correções de bugs**

    • Corrigido um problema ao consolidar configurações globais com configurações de usuário que as substituem.
    • Corrigida uma condição de corrida na integração do Cypress.
    • Corrigido um problema com a integração do Cypress onde regras experimentais não eram habilitadas.
    • Corrigido um problema onde a ativação do padrão EN 301 549 não era respeitada.
    • Corrigido um problema com configurationOverrides caso nenhum valor fosse definido.
    • Adicionada validação adicional para Playwright e Playwright Test.
    • Corrigido um problema ao tentar selecionar versões do axe-core sem um número de versão de patch.
    • Aprimorada a lógica para mesclar configurações de usuário com configurações globais.
    • Melhorado o manuseio da versão do axe-core quando nenhum configurationOverrides foi fornecido.
    • Melhorada a mensagem de erro para um padrão de acessibilidade não permitido em configurationOverrides.
    • Corrigidas mensagens de erro para incluir um link para a documentação de solução de problemas.
    • Melhorado o tratamento de erros ao enviar resultados para o servidor, o que anteriormente causava a interrupção da suíte de testes.

3.20.0

  • Não lançado

3.19.1 (25 de fevereiro de 2025)

  • Corrigido um problema onde chamar um método encapsulado (como click()) após mudar o contexto do navegador para um frame filho usando switchToFrame() (WebdriverIO ou WebDriverJS) ou switchTo().frame() (Java Selenium) causava um tempo limite de análise. Agora, o Axe Watcher pula a análise quando não está no frame de nível superior. Veja Nenhum Estado de Página Capturado Após Mudar para um Frame Filho para mais informações.
  • Certifique-se de que suítes de testes especificando --disable-extensions não desativem o Watcher.

3.19.0 (20 de janeiro de 2025)

  • Melhorada a mensagem de erro com versões do Playwright e Playwright Test 1.49.0 ou maior ao usar o parâmetro headless quando o parâmetro channel estiver definido para firefox. (Apenas os canais chromium ou são suportados com o modo totalmente cabeçalho ou o novo modo cabeçalho.) chrome são suportados.
  • Melhorada a verificação de versões para axe-core.
  • Suporte para configurações globais.

3.18.0 (18 de dezembro de 2024)

  • Corrigidos vários problemas de manipulação de sessão, que podiam causar resultados errôneos ou vazios no site.
  • Adicionado suporte para o novo Chromium sem cabeça nas versões do Playwright >= 4.91. Veja Tente o novo Chromium sem cabeça nas notas de lançamento do Playwright 4.91.
  • Adicionados valores de tempo limite personalizados para permitir que os usuários controlem a manipulação de sessão.

3.17.2 (12 de dezembro de 2024)

  • **Recursos**

    • Adicionado modo manual ao Watcher.
    • Executar uma análise em um protocolo não suportado (qualquer protocolo além de *https*, *http*, ou *file*) ou na página *about:blank* resultará em um erro.
    • Agora o Watcher lança um erro se não for configurado antes do uso.
  • **Correções de bugs**

    • Corrigido um problema no Playwright Test em que as sessões eram reutilizadas, causando a sobrescrita dos resultados.
    • Corrigidos vários outros problemas na criação e gerenciamento de sessões.
    • No modo manual, chamar o start() método do controlador agora marca o DOM da página atual como limpo, de modo que nenhum estado da página é capturado.
    • No modo manual, corrigido um problema em que um estado adicional da página era às vezes capturado quando flush() era chamado.
    • Corrigido um problema que causava a falta do estado da página quando cy.axeWatcherAnalyze() era chamado após cy.click() ser chamado sem um cy.wait() chamamento.
    • Agora inclui um arquivo LICENSES-3RD-PARTY.md atualizado com o pacote @axe-core/watcher.
    • O método do controlador stop() agora analisa a página se o DOM tiver mudado antes de desativar o modo automático.
    • Alterado o comportamento do Watcher de modo que, se o Watcher estiver no modo manual, não analise a página se o método do controlador stop() for chamado.
    • Corrigido um problema na integração do Playwright que causava a devolução de tipos incorretos por métodos encapsulados.
    • Corrigido um problema que impedia runOptions de aceitar apenas uma opção.

3.17.1

  • Não lançado

3.17.0

  • Não lançado

3.16.1 (25 de outubro de 2024)

  • Incluídas licenças de terceiros.

3.16.0 (26 de setembro de 2024)

  • Corrigido um problema de dependência transitiva envolvendo comandos do Cypress.

3.15.2 (13 de setembro de 2024)

  • Adicionado suporte para a versão 9 do WebdriverIO (enquanto mantém suporte para as versões 7 e 8 do WebdriverIO).

3.15.1

  • Ignorado (não houve candidato a lançamento)

3.15.0

  • Não lançado

3.14.3 (5 de setembro de 2024)

  • Nenhuma alteração visível para o usuário

3.14.2 (29 de agosto de 2024)

  • Corrigido um erro ao acessar o valor de tempo limite no Cypress.
  • Para o Cypress, agora lança uma exceção se o usuário tentar usar Watcher sem antes chamar cypressConfig().
  • Corrigido um erro que aparecia em certas condições no Cypress ao importar o os módulo.
  • Adicionado buildID ao AxeConfiguration para execuções de testes em paralelo.
  • Descontinuado sessionID em AxeConfiguration a favor de buildID.
  • Corrigido um problema que causava a captura de um estado de página adicional com Puppeteer devido ao tratamento de authenticate().
  • Melhorias de performance no axe Watcher devido a mudanças na ofuscação de código.

3.14.1

  • Não lançado

3.14.0

  • Não lançado

3.13.1 (19 de julho de 2024)

  • Permitir excluir URLs da varredura de análise usando a opção excludeUrlPatterns . Consulte excludUrlPatterns.

3.13.0

  • Não lançado

3.12.0 (16 de julho de 2024)

  • Melhorado o tratamento da remontagem de componentes no Cypress.
  • Garantir que o Watcher possa ser carregado na versão 7 do WebdriverIO.
  • Adicionado suporte para o Puppeteer locator .
  • Adicionada configuração de runContext e runOptions para axe-core. Consulte runContext e runOptions.

3.11.1 (26 de junho de 2024)

  • Corrigido um problema onde os valores de retorno de setupNodeEvents manipuladores externos no Cypress não eram propagados.
  • Alterado comportamento para permitir que a extensão do Chrome do Cypress seja carregada.

3.11.0 (17 de junho de 2024)

  • Abordado um problema onde desmontar e remontar componentes causariam o tempo limite de varreduras de acessibilidade no Cypress.
  • Flexibilizado a lógica de detecção de navegadores para evitar falhas mesmo ao usar navegadores suportados.
  • Removidas gravações no sistema de arquivos ao descarregar resultados no Cypress.

3.10.0 (16 de maio de 2024)

  • Corrigido um problema no Cypress onde o config objeto retornado de setupNodeEvents não era propagado corretamente e quaisquer alterações feitas nele eram perdidas.
  • Corrigida a implementação de funções proxy (para Playwright Test) que resultavam em um erro com Locator objetos: só pode ser usado com o objeto Locator.
  • Encapsuladas duas novas funções do Playwright do lançamento 1.43.1.

3.9.0 (30 de abril de 2024)

  • Adicionados tipos compatíveis com versões anteriores para a versão 20 do Puppeteer.
  • Para o Cypress, descontinuado axeAnalyze(), axeFlush(), axeStart(), e axeStop(). Substituído por axeWatcherAnalyze(), axeWatcherFlush(), axeWatcherStart(), e axeWatcherStop().
  • Corrigido um TypeError em certos hooks da versão 21 (e posteriores) do Puppeteer.

3.8.0 (9 de abril de 2024)

  • Atualizado o JavaScript emitido para o alvo ECMAScript 2018 (ES2018) em vez de ECMAScript 2015 (ES2015).

3.7.0 (21 de março de 2024)

  • Sem alterações visíveis para o usuário

3.6.0 (7 de março de 2024)

  • Na integração com o Cypress, impedir after:run eventos se nenhum teste foi executado.
  • Alterado o formato da URL de download para Chromedriver porque a equipe do Chromedriver mudou para uma nova solução de hospedagem. Impacta o WebdriverIO.

3.5.0 (25 de janeiro de 2024)

  • Corrigido um problema onde a chamada do método Page.goto() do Playwright registrava incorretamente dois estados da página.
  • Corrigido um problema na integração com o Cypress que causava a ignorância de certas configurações do usuário de setupNodeEvents .
  • Adicionado eventemitter3 como uma dependência obrigatória.
  • Envolvidas algumas funções do Playwright que não haviam sido envolvidas antes.

3.4.0 (12 de dezembro de 2023)

  • Corrigido um problema onde os estados da página eram perdidos ou ocorria um erro quando os testes causavam navegações na página.
  • Removido algum código redundante da integração com o Cypress.

3.3.0 (7 de dezembro de 2023)

  • Sem alterações visíveis para o usuário

3.2.0 (9 de novembro de 2023)

  • Sem alterações visíveis para o usuário

3.1.1 (12 de outubro de 2023)

  • Sem alterações visíveis para o usuário

3.1.0 (14 de setembro de 2023)

  • Todas as integrações agora permitem --headless=new.

3.0.0 (8 de setembro de 2023)

Para resolver casos onde analyze() não foi chamado inesperadamente, as seguintes funções precisaram ser depreciadas e substituídas:

Função depreciada Nova função
wrapPlaywright(browserContext, controller) wrapPlaywrightPage(page, controller)
wrapPuppeteer(context, controller) wrapPuppeteerPage(page, controller)

Usar as funções depreciadas gerará um erro.