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.5.1 (16 de julho de 2026)

  • **Recursos**

    • Suporte para Node.js 20 removido, pois atingiu o fim de vida. Axe Watcher agora requer Node.js 22.11.0 ou posterior. (Integrações JavaScript/TypeScript)
    • O Microsoft Edge (Chromium) agora é suportado com a integração Java Selenium. Anteriormente, o Edge estava disponível com todas as integrações, exceto a Java Selenium. (Integração Java Selenium)
  • **Correções de Erros**

    • Corrigido um problema na integração com Cypress em que capturas de tela falhavam ao serem enviadas para o Axe Developer Hub. (Integração Cypress)
    • Corrigido um problema em que executar múltiplos testes simultaneamente com diferentes IDs de projeto poderia fazer com que a configuração de uma execução sobrescrevesse a de outra. (Integrações JavaScript/TypeScript)

4.5.0 (6 de julho de 2026)

  • **Recursos**
    • O Axe Watcher agora suporta oficialmente o Microsoft Edge (Chromium) como um navegador de teste, juntamente com o Chrome for Testing, Chrome e Chromium. O Edge está disponível com as integrações JavaScript/TypeScript e com Java Playwright; não é suportado com Java Selenium.

4.4.0 (12 de junho de 2026)

  • **Recursos**

    • As verificações agora incluem automaticamente o caminho e o nome do arquivo do teste original no Axe Developer Hub. (Integrações com Playwright Test, Cypress e WebdriverIO)
    • O SDK Java agora suporta Playwright além do Selenium. O artefato com.deque.axe_core:watcher é fornecido com suporte ao Playwright. Consulte a documentação Java com Playwright para instruções de integração.
    • A integração Java/Playwright captura capturas de tela de violações. As capturas de tela são enviadas para o servidor e salvas localmente quando um screenshotDir é configurado.
    • Adicionado setScreenshotDir() ao AxeWatcherOptions (Java). Use-o para especificar um diretório local para salvar capturas de tela. As capturas de tela são salvas localmente mesmo quando o servidor está inacessível.
    • Adicionado setTestContext() tanto ao AxeWatcherController (Selenium) quanto ao AxeWatcherPlaywrightController (Playwright) no SDK Java. Use-o para atribuir violações a testes específicos no Axe Developer Hub.
    • As capturas de tela salvas localmente agora usam um nome de arquivo prefixado por um carimbo de data/hora (YYYYMMDDTHHmmssSSS-{id}.png) para que os arquivos sejam ordenados deterministicamente pelo tempo de captura.
    • Adicionada opção de configuração elementInternals. Defina elementInternals: true em AxeConfiguration (JavaScript/TypeScript) ou chame setElementInternals(true) em AxeWatcherOptions (Java) para incluir dados de acessibilidade de ElementInternals nas verificações. Isso reduz falsos positivos em páginas que usam elementos personalizados com attachInternals(). Requer versão 4.12.0 ou posterior do axe-core.
    • Atualizado axe-core para a versão 4.12.1.
  • **Correções de Erros**

    • Corrigido um problema onde chamar analyze() (ou axeWatcherAnalyze() no Cypress) poderia causar a publicação duplicada dos resultados da verificação no final do teste.
    • Corrigido um problema onde duas solicitações de flush chegando ao mesmo tempo poderiam fazer com que os resultados da verificação fossem enviados mais de uma vez.
    • Corrigido um problema onde o Watcher era executado em cada frame filho, causando o envio de estados de página duplicados. O Watcher agora roda apenas no frame superior. A cobertura de acessibilidade do conteúdo de iframe permanece inalterada; o axe-core ainda é executado em todos os frames e o frame superior reúne seus resultados.
    • Melhorado o desempenho para testes que capturam muitos estados de página. O armazenamento de resultados agora escreve em tempo constante por verificação em vez de crescer com o número total de resultados acumulados.
    • Melhorada a validação para setHeadless() e setChannel() na integração Java/Playwright. Combinações mal configuradas agora lançam IllegalArgumentException com uma mensagem acionável em vez de falhar silenciosamente ou produzir um comportamento inesperado.
    • Corrigido um problema onde padrões de URL excluídos nem sempre eram respeitados se uma solicitação de flush chegasse antes do Watcher terminar de carregar sua configuração.

4.3.0 (12 de maio de 2026)

  • **Correções de Erros**
    • 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)

  • **Recursos**

    • Ampliada a opção git para suportar a entrega de metadados Git explícitos. No JavaScript/TypeScript, a propriedade git em AxeConfiguration agora aceita um objeto GitConfig além de um booleano. No Java, AxeWatcherOptions tem um novo método setGitInfo(AxeWatcherGitInfo). Quando um objeto GitConfig ou AxeWatcherGitInfo é 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 de CI onde a auto-detecção do Git é pouco confiável. Veja para mais informações. para mais informações.
  • **Correções de Erros**

    • Corrigido um problema onde chamar flush() enquanto os resultados ainda estavam sendo processados poderia produzir resultados incompletos. (Integração JavaScript/TypeScript)
    • Corrigido um problema na integração Java/Selenium onde exceções de findElement() não eram corretamente apresentadas, causando falhas imediatas em esperas explícitas em vez de aguardar o aparecimento do elemento.
    • Corrigido um problema na integração Java onde passar
    • Corrigido um problema na integração Java onde passar null para certos métodos de configuração causava uma exceção não tratada. Esses métodos agora lançam um IllegalArgumentException com uma mensagem descritiva.

Funcionalidades

  • **Recursos**

    • Adicionado suporte para o RGAA v4 (padrão de acessibilidade francês). Defina
    • Adicionado suporte para o RGAA v4 (padrão de acessibilidade francês). Defina accessibilityStandard: 'RGAAv4' em ConfigurationOverrides (JavaScript/TypeScript) ou utilize ConfigurationOverrides.AccessibilityStandard.RGAAV4 (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.
    • Adicionada a opção git para AxeConfiguration (JavaScript/TypeScript) e AxeWatcherOptions (Java) para controlar se as informações do Git são coletadas. Defina git: false (JavaScript/TypeScript) ou chame setGit(false) (Java) para executar o Watcher sem coletar dados do Git. O padrão é true (informações do Git são coletadas).
    • Correções de Bugs
  • **Correções de Erros**

    • Corrigido um problema na integração Java onde um caminho binário customizado do Chrome, configurado via setBinary() no objeto ChromeOptions, seria substituído ao ser passado para configure().

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

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

  • **Recursos**

    • Adicionado suporte a proxy. Veja Usando Watcher Com um Proxy para mais informações. (A implementação do 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. Consulte o instruções para 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')
    • Substituiu a especificação incorreta de LaunchOptions no 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)

  • 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 implementação JavaScript/TypeScript quanto Java).
  • Relate falha se o número máximo de tentativas para o upload dos resultados falhados 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)

  • Certifique-se de que runOptions não inclua nenhum valor null, o que causou uma falha silenciosa na integração Java.
  • Certifique-se de 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 Cypress onde tempos longos de wait() causariam estados de página duplicados ou falha no teste.
  • Corrigido um problema onde runOptions.runOnly falhava em funcionar corretamente com a integração Cypress.

3.20.2 (17 de abril de 2025)

  • Corrigido um problema com as mensagens de erro de timeout que especificavam o parâmetro errado para alterar. (Por exemplo, o usuário foi direcionado para alterar timeoutStart em vez do valor correto 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 se nenhum valor fosse configurado.
    • 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 é 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. O Axe Watcher agora 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 teste que especificam --disable-extensions não desabilitem o Watcher.

3.19.0 (20 de janeiro de 2025)

  • Melhorada a mensagem de erro com as versões 1.49.0 ou superior do Playwright e Playwright Test ao usar o parâmetro headless quando o parâmetro channel é definido como firefox. (Apenas os canais chromium ou chrome são suportados com o modo totalmente exibido ou o novo modo sem cabeça.)
  • 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 modo sem cabeça do Chromium em 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 método start() do controlador agora marca o DOM da página atual como limpo, para que nenhum estado de página seja capturado.
    • No modo manual, corrigido um problema onde um estado de página adicional às vezes era capturado quando flush() era chamado.
    • Corrigido um problema que causava um estado de página ausente quando cy.axeWatcherAnalyze() era chamado após cy.click() ser chamado sem uma chamada cy.wait().
    • Agora inclui um arquivo LICENSES-3RD-PARTY.md atualizado com o pacote @axe-core/watcher.
    • O método de controle stop() agora analisa a página se o DOM tiver mudado antes de desativar o modo automático.
    • Alterado o comportamento do Watcher para 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)

  • 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 tempo limite no Cypress.
  • Para o Cypress, agora gera uma exceção se o usuário tentar usar o Watcher sem antes chamar cypressConfig().
  • Corrigido um erro que aparecia sob certas condições no Cypress ao importar o módulo os.
  • Adicionado buildID a AxeConfiguration para execuções de teste em paralelo.
  • Descontinuado sessionID em AxeConfiguration em favor de buildID.
  • Corrigido um problema que causava a captura de um estado adicional da página com o 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)

  • Permitir a exclusão de URLs da varredura de análise usando a opção excludeUrlPatterns. Veja 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 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 os valores de retorno de manipuladores externos de setupNodeEvents 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 objeto config retornado de setupNodeEvents não era propagado corretamente e as alterações feitas nele eram perdidas.
  • Corrigida a implementação de funções proxy (para Playwright Test) que resultavam em um erro com objetos Locator: 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, axeAnalyze(), axeFlush(), axeStart() e axeStop() foram descontinuados. Substituídos 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)

  • Atualizar o JavaScript emitido para direcionar o ECMAScript 2018 (ES2018) em vez do 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 Cypress, evitar eventos after:run 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 ao método Page.goto() do Playwright registraria incorretamente dois estados da página.
  • Corrigido um problema na integração do Cypress que causava a ignorância de certas configurações de usuário de setupNodeEvents.
  • Adicionado eventemitter3 como uma dependência obrigatória.
  • Envolvidas alguns métodos do Playwright que não tinham sido encapsulados 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 era chamado conforme esperado, as seguintes funções precisaram ser descontinuadas 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.