Notas de Lançamento do Pacote Watcher
Notas de lançamento descrevendo as mudanças no pacote Watcher para a versão 3.0.0 e posteriores
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
gitpara suportar a provisão de metadados Git explícitos. Em JavaScript/TypeScript, a propriedadegitagora aceita um objetoAxeConfigurationalém de um booleano. Em Java,GitConfigpossui um novo métodoAxeWatcherOptions. Quando um objetosetGitInfo(AxeWatcherGitInfo)ouGitConfigé 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. VejaAxeWatcherGitInfoFornecendo Metadados Git para mais informações. Correções de Bugs
- Extendida a opção
-
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
nullcom uma mensagem descritiva.IllegalArgumentException4.1.0 (24 de fevereiro de 2026)
- enquanto os resultados ainda estavam sendo processados poderia produzir resultados incompletos. (integração JavaScript/TypeScript)
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 useConfigurationOverrides(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.RGAAV4Adicionada uma opção - em
git(JavaScript/TypeScript) eAxeConfiguration(Java) para controlar se as informações Git são coletadas. DefinaAxeWatcherOptions(JavaScript/TypeScript) ou chamegit: false(Java) para executar o Watcher sem coletar dados Git. O padrão ésetGit(false)(informações Git são coletadas).trueAtualizado 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 paraChromeOptions.configure()4.0.0 (3 de dezembro de 2025)
- no objeto
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/configComandos Cypress @axe-core/watcher/dist/cypressCommands@axe-core/watcher/cypress/supportPlaywright @axe-core/watcher@axe-core/watcher/playwrightTeste Playwright @axe-core/watcher@axe-core/watcher/playwright-testPuppeteer @axe-core/watcher@axe-core/watcher/puppeteerWebdriverIO @axe-core/watcher@axe-core/watcher/wdioTestrunner WebdriverIO @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverExemplo de JavaScript para WebDriverJS:
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Substituída a especificação incorreta de
LaunchOptionsem TypeScript para Playwright por um novo tipo chamadoLaunchPersistentContextOptions, extraído dinamicamente delaunchPersistentContext. Os usuários precisarão remover quaisquer opções não suportadas que estavam usando comLaunchOptions; 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-extensionscom 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
runOptionsnão inclua quaisquer valoresnull, 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.runOnlynã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
timeoutStartem vez do correto valortimeout.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
configurationOverridescaso 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
configurationOverridesfoi 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 usandoswitchToFrame()(WebdriverIO ou WebDriverJS) ouswitchTo().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-extensionsnã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
headlessquando o parâmetrochannelestiver definido parafirefox. (Apenas os canaischromiumou são suportados com o modo totalmente cabeçalho ou o novo modo cabeçalho.)chromesã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óscy.click()ser chamado sem umcy.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
runOptionsde 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
osmódulo. - Adicionado
buildIDaoAxeConfigurationpara execuções de testes em paralelo. - Descontinuado
sessionIDemAxeConfigurationa favor debuildID. - 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. ConsulteexcludUrlPatterns.
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
runContexterunOptionspara axe-core. ConsulterunContexterunOptions.
3.11.1 (26 de junho de 2024)
- Corrigido um problema onde os valores de retorno de
setupNodeEventsmanipuladores 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
configobjeto retornado desetupNodeEventsnã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
Locatorobjetos: 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(), eaxeStop(). Substituído poraxeWatcherAnalyze(),axeWatcherFlush(),axeWatcherStart(), eaxeWatcherStop(). - Corrigido um
TypeErrorem 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:runeventos 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
eventemitter3como 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.
