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 que descrevem 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 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 git para suportar o fornecimento explícito de metadados Git. 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 um objeto GitConfig é 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. Veja AxeWatcherGitInfo Fornecendo Metadados Git para mais informações. Correções de Bugs
  • 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 null com uma mensagem descritiva. IllegalArgumentException 4.1.0 (24 de fevereiro de 2026)

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 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
    • para git (JavaScript/TypeScript) e AxeConfiguration (Java) para controlar se as informações do Git são coletadas. Defina AxeWatcherOptions (JavaScript/TypeScript) ou chame git: false (Java) para executar o Watcher sem coletar dados do Git. O padrão é setGit(false) (informações do Git são coletadas). true Atualizado 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 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.

  • **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/config
      Cypress Commands @axe-core/watcher/dist/cypressCommands @axe-core/watcher/cypress/support
      Playwright @axe-core/watcher @axe-core/watcher/playwright
      Playwright Test @axe-core/watcher @axe-core/watcher/playwright-test
      Puppeteer @axe-core/watcher @axe-core/watcher/puppeteer
      WebdriverIO @axe-core/watcher @axe-core/watcher/wdio
      WebdriverIO Testrunner @axe-core/watcher @axe-core/watcher/wdio
      WebDriverJS @axe-core/watcher @axe-core/watcher/webdriver

      Exemplo em JavaScript para WebDriverJS:

      const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher/webdriver')
    • Substituída a especificação incorreta de LaunchOptions em TypeScript para o 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)

  • 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-extensions opçã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 runOptions não inclua nenhum null valores, 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-INF diretó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.runOnly falhava 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 timeoutStart em vez do ", "context": "paragraph timeout.start valor 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 configurationOverrides se 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 configurationOverrides for 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-extensions nã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 headless quando o parâmetro ", "context": "paragraph channel está definido como ", "context": "paragraph firefox. (Apenas os canais ", "context": "paragraph chromium ou ", "context": "paragraph chrome sã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ós cy.click() ser chamado sem uma cy.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 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 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 os módulo.
  • Adicionado buildID a AxeConfiguration para execuções de teste paralelas.
  • Descontinuado sessionID em AxeConfiguration em favor de buildID.
  • 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 excludeUrlPatterns opção. Veja excludUrlPatterns.

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 locator para Puppeteer.
  • Adicionada configuração de runContext e runOptions para axe-core. Veja runContext e runOptions.

3.11.1 (26 de junho de 2024)

  • Corrigido um problema onde valores de retorno de handlers externos no setupNodeEvents Cypress 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 config 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 ", "context": "paragraph Locator objetos: ", "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": "paragraph axeFlush(), ", "context": "paragraph axeStart(), e ", "context": "paragraph axeStop(). Substituído por ", "context": "paragraph axeWatcherAnalyze(), ", "context": "paragraph axeWatcherFlush(), ", "context": "paragraph axeWatcherStart(), e ", "context": "paragraph axeWatcherStop().", "context": "paragraph
  • Corrigido um ", "context": "paragraph TypeError em certos hooks da versão 21 (e posteriores) do Puppeteer.", "context": "paragraph

3.8.0 (9 de abril de 2024)", "context": "heading level 2

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:run eventos 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 setupNodeEvents fossem ignoradas.", "context": "paragraph
  • Adicionado ", "context": "paragraph eventemitter3 como 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.