Configurar Timeouts
Este guia descreve como configurar os ajustes de timeout no Axe Watcher para JavaScript, TypeScript e Java
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.
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:
-
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.
-
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.
-
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:
-
Identifique qual operação está excedendo o tempo limite: A mensagem de erro indica se é
analyze,flush,startoustop. -
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.
-
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.
