Configurar Timeouts

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

Este guia descreve como configurar os ajustes de timeout no Axe Watcher para JavaScript, TypeScript e Java

Not for use with personal data

Ao executar testes de acessibilidade com o Axe Watcher, você pode encontrar timeouts, especialmente em páginas complexas, em redes lentas ou em ambientes de CI/CD com recursos limitados. Este guia explica como configurar os valores de timeout para garantir que seus testes sejam concluídos com sucesso.

note

Embora a implementação Java do Watcher não suporte timeouts personalizados, há várias estratégias que você pode seguir para ajudar a reduzir a necessidade de timeouts. Veja Soluções para Problemas de Timeout no Java.

Entendendo os Timeouts do Watcher

O Axe Watcher se comunica com os servidores da Deque durante as execuções de teste e realiza operações de análise que podem variar em duração dependendo da complexidade da página. Quatro operações possuem timeouts configuráveis:

  • analyze: Tempo permitido para analisar a acessibilidade de uma página (padrão: 5000ms)
  • flush: Tempo permitido para enviar resultados para o Axe Developer Hub (padrão: 5000ms)
  • start: Tempo permitido para retomar a autoanálise (padrão: 2000ms)
  • stop: Tempo permitido para pausar a autoanálise (padrão: 5000ms)

Se você encontrar erros de timeout com o Watcher, verá uma mensagem semelhante a:

Error: Watcher could not send results to the server. To resolve this problem, adjust your `timeout.flush` property within your configuration or see [Troubleshooting](https://docs.deque.com/devtools-for-web/wa-troubleshooting) for more troubleshooting guidance.

Configuração para JavaScript e TypeScript

Para projetos JavaScript e TypeScript usando o pacote @axe-core/watcher, você pode configurar timeouts através da propriedade timeout no seu objeto AxeConfiguration.

Configuração Básica de Timeout

const config = playwrightConfig({
  axe: {
    apiKey: process.env.API_KEY,
    projectId: process.env.PROJECT_ID,
    timeout: {
      analyze: 10000,  // 10 seconds
      flush: 15000,    // 15 seconds
      start: 5000,     // 5 seconds
      stop: 10000      // 10 seconds
    }
  }
});

Você só precisa especificar os timeouts que deseja substituir; quaisquer valores omitidos usarão seus padrões.

Considerações Importantes para JavaScript/TypeScript

Os valores de timeout do Watcher são independentes dos próprios timeouts do seu framework de teste. Se você estiver enfrentando falhas de timeout, pode ser necessário ajustar ambos. O exemplo abaixo mostra como definir o timeout do Playwright para coincidir com o do Watcher.

// In your Watcher config
timeout: {
  analyze: 45000,
  flush: 20000
}

// Adjust the timeout for a single Playwright test.
test('basic functionality test', async ({ page }) => {
  test.setTimeout(45000);
  // ...
});

Se você estiver encadeando comandos, certifique-se de que o timeout geral do seu teste considere a duração total das operações.

Configuração para Java

A implementação Java do Watcher atualmente não suporta timeouts personalizados. Os valores de timeout estão definidos na implementação Java para os valores iniciais de JavaScript/TypeScript.

Soluções para Problemas de Timeout no Java

Embora você não possa configurar diretamente os timeouts no Java, considere estas abordagens:

  1. Otimizar a complexidade da página: Se as páginas consistentemente excederem o tempo limite durante a análise, considere dividir os testes em casos menores e mais focados que analisem menos estados da página.

  2. Verifique as condições de rede: Garanta uma conectividade de rede estável entre seu ambiente de teste e os servidores da Deque, especialmente em pipelines de CI/CD.

  3. Entre em contato com o suporte da Deque: Se os problemas de timeout persistirem, entre em contato com a equipe de suporte da Deque, pois futuras versões da Java Watcher podem incluir timeouts configuráveis.

Quando Aumentar os Timeouts

Considere aumentar os valores de timeout quando:

  • Estiver testando páginas com grandes estruturas DOM (milhares de elementos)
  • Executar testes em ambientes de CI/CD com recursos limitados
  • Teste em redes com alta latência de conexão
  • Analisar páginas com DOMs complexos
  • Executar múltiplos processos de teste em paralelo

Resolução de Problemas de Erros de Timeout

Se você estiver enfrentando erros de timeout:

  1. Identifique qual operação está excedendo o tempo limite: A mensagem de erro indica se é analyze, flush, start ou stop.

  2. Verifique outros problemas: Os timeouts às vezes podem indicar problemas subjacentes, como problemas de rede, proxies mal configurados ou páginas que não carregam completamente.

  3. Revise o guia de solução de problemas: Veja Resolução de problemas para orientações adicionais.

Resumo

Linguagem Configuração de Timeout Valores Padrão
JavaScript/TypeScript Totalmente configurável via objeto timeout analisar: 5000ms, descarregar: 5000ms, iniciar: 2000ms, parar: 5000ms
Java Atualmente não configurável Definido para os valores padrão de JavaScript/TypeScript: analisar: 5000ms, descarregar: 5000ms, iniciar: 2000ms, parar: 5000ms

Para projetos JavaScript e TypeScript, configurar tempos de espera apropriados garante a execução confiável dos testes em diversos ambientes. Usuários de Java devem se concentrar em otimizar a estrutura dos testes e as condições da rede.