Notas de Lançamento do Pacote Watcher
Notas de lançamento que descrevem 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 alternar o contexto do navegador para um iframe acionaria incorretamente varreduras, causando o registro de resultados extras.
- Atualizado o axe-core para a versão 4.11.4.
4.2.0 (6 de abril de 2026)
-
Funcionalidades
- Expandida a opção
gitpara suportar o fornecimento explícito de metadados Git. Em JavaScript/TypeScript, a propriedadegitagora aceita um objetoAxeConfigurationalém de um booleano. Em Java,GitConfigpossui um novo métodoAxeWatcherOptions. Quando um objetosetGitInfo(AxeWatcherGitInfo)ou um objetoGitConfigé fornecido, a detecção automática do Git é ignorada. Todos os campos são opcionais. Isso é útil quando os testes são executados em um repositório separado do repositório sob teste ou em ambientes CI onde a detecção automática do Git é pouco confiável. VejaAxeWatcherGitInfoFornecendo Metadados Git para mais informações. Correções de Bugs
- Expandida a opção
-
Corrigido um problema em que chamar
- enquanto os resultados ainda estavam sendo processados podia gerar resultados incompletos. (Integração JavaScript/TypeScript)
flush()Corrigido um problema na integração Java/Selenium onde exceções de - não eram exibidas corretamente, fazendo com que esperas explícitas falhassem imediatamente em vez de esperar que o elemento aparecesse.
findElement()Melhorada a confiabilidade na integração Java: o Watcher agora tenta novamente automaticamente enviar resultados para o 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 podia gerar resultados incompletos. (Integração JavaScript/TypeScript)
Funcionalidades
-
O Watcher agora verifica automaticamente todos os iframes de mesma origem. (A integração Cypress já tinha esse comportamento.) Isso 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 - para
git(JavaScript/TypeScript) eAxeConfiguration(Java) para controlar se as informações do Git são coletadas. DefinaAxeWatcherOptions(JavaScript/TypeScript) ou chamegit: false(Java) para executar o Watcher sem coletar dados do Git. O padrão ésetGit(false)(informações do Git são coletadas).trueAtualizado o axe-core para a versão 4.11.1. - Correções de Bugs
-
Corrigido um problema na integração Java onde um caminho binário personalizado do Chrome 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.
-
**Funcionalidades**
- Suporte a proxy adicionado. 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 Bugs**
- Corrigido um problema ao reportar informações do Git ao usar um pipeline do GitLab.
- Melhorado o tratamento de erros para alternativas ao Chrome, como o Chrome para Testing e o Chromium.
- Tratamento adequado de dados vazios do Git.
- Incluir todas as opções do Chrome fornecidas pelo usuário para WebdriverIO.
-
**Mudanças Incompatíveis**
-
O Watcher (para TypeScript e JavaScript) agora utiliza 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/configCypress Commands @axe-core/watcher/dist/cypressCommands@axe-core/watcher/cypress/supportPlaywright @axe-core/watcher@axe-core/watcher/playwrightPlaywright Test @axe-core/watcher@axe-core/watcher/playwright-testPuppeteer @axe-core/watcher@axe-core/watcher/puppeteerWebdriverIO @axe-core/watcher@axe-core/watcher/wdioWebdriverIO Testrunner @axe-core/watcher@axe-core/watcher/wdioWebDriverJS @axe-core/watcher@axe-core/watcher/webdriverExemplo em JavaScript para WebDriverJS:
const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver') -
Substituída a especificação incorreta de
LaunchOptionsem TypeScript para o 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)
- Melhorou a lógica de tempo limite e de tentativas ao enviar resultados para o servidor (para Watcher para JavaScript e TypeScript).
- Adicionado um aviso sobre a
--load-extensionsopção 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 envio de resultados falhados for excedido (
Flush: Failed. Maximum retries reached). - Corrigidos problemas com o manuseio de Chrome para Testing e Chromium.
- Registrar se o número máximo de tentativas foi atingido.
- Implementados testes de componentes na integração com o Cypress.
3.22.0 (1 de julho de 2025)
- Assegurar que
runOptionsnão inclua nenhumnullvalores, que causavam uma falha silenciosa na integração com Java. - Garantir que o arquivo de licença para a implementação em Java seja copiado para o
META-INFdiretório. - Corrigido um problema onde os padrões de URL excluídos não eram copiados corretamente em Java.
- Melhorado o método para determinar o branch padrão do Git.
3.21.0 (23 de maio de 2025)
- Java Watcher", "context": "link text lançado.", "context": "paragraph
- Implementado um meio alternativo de determinar o nome padrão do branch do Git.", "context": "paragraph
- Corrigido um problema com a integração do Cypress onde longos ",
"context": "paragraph
wait() tempos causavam estados de página duplicados ou falha no teste.", "context": "paragraph - Corrigido um problema onde ",
"context": "paragraph
runOptions.runOnlyfalhava ao funcionar corretamente com a integração do Cypress.", "context": "paragraph
3.20.2 (17 de abril de 2025)", "context": "heading level 2
- Corrigido um problema com as mensagens de erro de timeout que especificavam o parâmetro errado para alterar. (Por exemplo, o usuário era direcionado a alterar ",
"context": "paragraph
timeoutStartem vez do ", "context": "paragraphtimeout.startvalor correto.)", "context": "paragraph
3.20.1 (25 de março de 2025)", "context": "heading level 2
-
**Funcionalidades**", "context": "strong text
- Permitir a seleção de versões anteriores do axe-core.", "context": "paragraph
- Tornado o envio de resultados ao servidor mais robusto.", "context": "paragraph
-
**Correções de bugs**", "context": "strong text
- Corrigido um problema ao consolidar configurações globais com substituições de configuração do usuário.", "context": "paragraph
- Corrigida uma condição de corrida na integração do Cypress.", "context": "paragraph
- Corrigido um problema com a integração do Cypress onde regras experimentais não eram ativadas.", "context": "paragraph
- Corrigido um problema onde a habilitação do padrão EN 301 549 não era respeitada.", "context": "paragraph
- Corrigido um problema com ",
"context": "paragraph
configurationOverridesse nenhum valor fosse definido.", "context": "paragraph - Adicionada validação adicional para Playwright e Playwright Test.", "context": "paragraph
- Corrigido um problema ao tentar selecionar versões do axe-core sem um número de versão patch.", "context": "paragraph
- Aprimorada a lógica para mesclar configurações do usuário com configurações globais.", "context": "paragraph
- Melhorado o tratamento da versão do axe-core quando nenhuma ",
"context": "paragraph
configurationOverridesfor fornecida.", "context": "paragraph - Melhorada a mensagem de erro para um padrão de acessibilidade não permitido em ",
"context": "paragraph
configurationOverrides.", "context": "paragraph - Corrigidas mensagens de erro para incluir um link para a documentação de solução de problemas.", "context": "paragraph
- Melhorado o tratamento de erros ao enviar resultados para o servidor, o que anteriormente causava a interrupção da suíte de testes.", "context": "paragraph
3.20.0", "context": "heading level 2
- Não lançado", "context": "paragraph
3.19.1 (25 de fevereiro de 2025)", "context": "heading level 2
- Corrigido um problema com a captura de estados de página.", "context": "paragraph
- Garantir que as suítes de teste que especificam ",
"context": "paragraph
--disable-extensionsnão desativem o Watcher.", "context": "paragraph
3.19.0 (20 de janeiro de 2025)", "context": "heading level 2
- Melhorada a mensagem de erro com versões Playwright e Playwright Test 1.49.0 ou superior ao usar o parâmetro ",
"context": "paragraph
headlessquando o parâmetro ", "context": "paragraphchannelestá definido como ", "context": "paragraphfirefox. (Apenas os canais ", "context": "paragraphchromiumou ", "context": "paragraphchromesão suportados com o modo totalmente com interface ou o novo modo sem interface.)", "context": "paragraph - Melhorada a verificação de versão para axe-core.", "context": "paragraph
- Suporte para ", "context": "paragraph configurações globais", "context": "link text.", "context": "paragraph
3.18.0 (18 de dezembro de 2024)", "context": "heading level 2
- Corrigidos vários problemas de manuseio de sessão, que podiam causar a aparição de resultados errôneos ou vazios no site.", "context": "paragraph
- Adicionado suporte para o novo Chromium em modo sem cabeça nas versões do Playwright >= 4.91. Veja Experimente o novo Chromium em modo sem cabeça", "context": "link text nas notas de lançamento do Playwright 4.91.
- Adicionados valores de tempo limite personalizados para permitir que os usuários controlem o gerenciamento de sessões.
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 diferente 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 de usar.
-
**Correções de bugs**
- Corrigido um problema no Playwright Test onde as sessões eram reutilizadas, causando a sobrescrita de resultados.
- Corrigidos vários outros problemas com a criação e gerenciamento de sessões.
- No modo manual, chamar o método do controlador
start()agora marca o DOM da página atual como limpo, assim nenhum estado da página é capturado. - No modo manual, corrigido um problema onde um estado adicional da página era às vezes capturado quando
flush()era chamado. - Corrigido um problema que causava um estado ausente da página quando
cy.axeWatcherAnalyze()era chamado apóscy.click()ser chamado sem umacy.wait()chamada. - 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 mudou antes de desligar o modo automático. - Alterado o comportamento do Watcher para que, se o Watcher estiver em modo manual, não analise a página se o método do controlador
stop()for chamado. - Corrigido um problema na integração com o Playwright que fazia com que métodos encapsulados retornassem tipos incorretos.
- 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 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
- Pulado (não houve candidato a lançamento)
3.15.0
- Não lançado
3.14.3 (5 de setembro de 2024)
- Sem alterações visíveis para o usuário
3.14.2 (29 de agosto de 2024)
- Corrigido um erro ao acessar o valor de timeout no Cypress.
- Para o Cypress, agora lança uma exceção se o usuário tentar usar o Watcher sem primeiro chamar
cypressConfig(). - Corrigido um erro que aparecia em certas condições no Cypress ao importar o
osmódulo. - Adicionado
buildIDaAxeConfigurationpara execuções de teste paralelas. - Descontinuado
sessionIDemAxeConfigurationem favor debuildID. - Corrigido um problema que causava a captura de um estado adicional da página com Puppeteer devido ao manuseio de
authenticate(). - Melhorias de desempenho 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)
- Permite excluir URLs da varredura de análise usando a
excludeUrlPatternsopção. VejaexcludUrlPatterns.
3.13.0
- Não lançado
3.12.0 (16 de julho de 2024)
- Melhorado o manuseio de remontagem de componentes no Cypress.
- Garantir que o Watcher possa ser carregado na versão 7 do WebdriverIO.
- Adicionado suporte a
locatorpara Puppeteer. - Adicionada configuração de
runContexterunOptionspara axe-core. VejarunContexterunOptions.
3.11.1 (26 de junho de 2024)
- Corrigido um problema onde valores de retorno de handlers externos no
setupNodeEventsCypress não eram propagados. - Comportamento alterado para permitir o carregamento da extensão do Chrome do Cypress.
3.11.0 (17 de junho de 2024)
- Resolvido um problema onde a desmontagem e remontagem de componentes causavam tempo de espera nas varreduras de acessibilidade no Cypress.
- A lógica de detecção de navegador foi relaxada para evitar falhas mesmo ao usar navegadores suportados.
- Removidas as 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 objeto
configretornado 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 ",
"context": "paragraph
Locatorobjetos: ", "context": "paragraph só podem ser usados com o objeto Locator", "context": "emphasized text.", "context": "paragraph - Envolvidas duas novas funções do Playwright da versão 1.43.1.", "context": "paragraph
3.9.0 (30 de abril de 2024)", "context": "heading level 2
- Adicionados tipos retrocompatíveis para a versão 20 do Puppeteer.", "context": "paragraph
- Para o Cypress, depreciado ",
"context": "paragraph
axeAnalyze(), ", "context": "paragraphaxeFlush(), ", "context": "paragraphaxeStart(), e ", "context": "paragraphaxeStop(). Substituído por ", "context": "paragraphaxeWatcherAnalyze(), ", "context": "paragraphaxeWatcherFlush(), ", "context": "paragraphaxeWatcherStart(), e ", "context": "paragraphaxeWatcherStop().", "context": "paragraph - Corrigido um ",
"context": "paragraph
TypeErrorem certos hooks da versão 21 (e posteriores) do Puppeteer.", "context": "paragraph
3.8.0 (9 de abril de 2024)", "context": "heading level 2
- Atualizado o JavaScript emitido para o alvo ECMAScript 2018 (", "context": "paragraphES2018", "context": "link text) em vez de ECMAScript 2015 (", "context": "paragraphES2015", "context": "link text).", "context": "paragraph
3.7.0 (21 de março de 2024)", "context": "heading level 2
- Sem alterações visíveis para o usuário", "context": "paragraph
3.6.0 (7 de março de 2024)", "context": "heading level 2
- Na integração com o Cypress, prevenir ",
"context": "paragraph
after:runeventos se nenhum teste for executado.", "context": "paragraph - Modificado o formato da URL de download para o Chromedriver porque a equipe do Chromedriver mudou para uma nova solução de hospedagem. Impacta o WebdriverIO.", "context": "paragraph
3.5.0 (25 de janeiro de 2024)", "context": "heading level 2
- Corrigido um problema onde chamar o ",
"context": "paragraph
Page.goto()do Playwright registrava incorretamente dois estados de página.", "context": "paragraph - Corrigido um problema na integração com o Cypress que fazia com que certas configurações de usuário de ",
"context": "paragraph
setupNodeEventsfossem ignoradas.", "context": "paragraph - Adicionado ",
"context": "paragraph
eventemitter3como uma dependência obrigatória.", "context": "paragraph - Envolvidas", "context": "link text algumas funções do Playwright que não haviam sido envolvidas antes.", "context": "paragraph
3.4.0 (12 de dezembro de 2023)", "context": "heading level 2
- Corrigido um problema onde os estados de página eram perdidos ou ocorriam erros quando os testes causavam navegações de página.", "context": "paragraph
- Removido código redundante da integração com o Cypress.", "context": "paragraph
3.3.0 (7 de dezembro de 2023)", "context": "heading level 2
- Sem alterações visíveis para o usuário", "context": "paragraph
3.2.0 (9 de novembro de 2023)", "context": "heading level 2
- Sem alterações visíveis para o usuário", "context": "paragraph
3.1.1 (12 de outubro de 2023)", "context": "heading level 2
- Sem alterações visíveis para o usuário", "context": "paragraph
3.1.0 (14 de setembro de 2023)", "context": "heading level 2
- Todas as integrações agora permitem ",
"context": "paragraph
--headless=new.
3.0.0 (8 de setembro de 2023)
Para resolver casos em que analyze() não era 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) |
O uso das funções depreciadas gerará um erro.
