Impostare i Timeout

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

Questa guida descrive come configurare le impostazioni di timeout in Axe Watcher per JavaScript, TypeScript e Java

Not for use with personal data

Quando esegui test di accessibilità con Axe Watcher, potresti riscontrare dei timeout, specialmente su pagine complesse, su reti lente o in ambienti CI/CD con risorse limitate. Questa guida spiega come configurare i valori di timeout per garantire che i tuoi test vengano completati con successo.

note

Anche se l'implementazione Java di Watcher non supporta i timeout personalizzati, ci sono diverse strategie che puoi seguire per ridurre la necessità di timeout. Vedi Soluzioni alternative per i problemi di timeout in Java.

Comprensione dei Timeout di Watcher

Axe Watcher comunica con i server di Deque durante l'esecuzione dei test ed esegue operazioni di analisi che possono variare in durata a seconda della complessità della pagina. Quattro operazioni hanno timeout configurabili:

  • analyze: Tempo consentito per analizzare l'accessibilità di una pagina (predefinito: 5000ms)
  • flush: Tempo consentito per inviare i risultati all'Axe Developer Hub (predefinito: 5000ms)
  • start: Tempo consentito per riprendere l'analisi automatica (predefinito: 2000ms)
  • stop: Tempo consentito per interrompere l'analisi automatica (predefinito: 5000ms)

Se incontri errori di timeout con Watcher, vedrai un messaggio simile 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.

Configurazione per JavaScript e TypeScript

Per i progetti JavaScript e TypeScript che utilizzano il pacchetto @axe-core/watcher, puoi configurare i timeout attraverso la proprietà timeout nel tuo oggetto AxeConfiguration.

Configurazione Base del 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
    }
  }
});

È necessario specificare solo i timeout che vuoi sovrascrivere; i valori omessi utilizzano le impostazioni predefinite.

Considerazioni Importanti per JavaScript/TypeScript

I valori di timeout di Watcher sono indipendenti dai timeout del tuo framework di test. Se stai riscontrando errori di timeout, potresti dover regolare entrambi. L'esempio seguente mostra come impostare il timeout di Playwright per adattarlo a quello di 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 concatenando comandi, assicurati che il tempo massimo complessivo del tuo test tenga conto della durata totale delle operazioni.

Configurazione di Java

Java Watcher attualmente non supporta i timeout personalizzati. I valori di timeout sono impostati nell'implementazione Java ai valori iniziali di JavaScript/TypeScript.

Soluzioni alternative per i problemi di timeout in Java

Anche se non puoi configurare direttamente i timeout in Java, considera questi approcci:

  1. Ottimizza la complessità della pagina: Se le pagine vanno costantemente in timeout durante l'analisi, considera di suddividere i test in casi più piccoli e mirati che analizzano meno stati della pagina.

  2. Verifica le condizioni di rete: Assicurati una connettività di rete stabile tra il tuo ambiente di test e i server di Deque, in particolare nelle pipeline CI/CD.

  3. Contatta il supporto Deque: Se i problemi di timeout persistono, contatta il team di supporto di Deque, poiché le versioni future di Java Watcher potrebbero includere timeout configurabili.

Quando Aumentare i Timeout

Considera di aumentare i valori di timeout quando:

  • Testi pagine con strutture DOM ampie (migliaia di elementi)
  • Esegui test in ambienti CI/CD con risorse limitate
  • Testi su connessioni di rete ad alta latenza
  • Analizzi pagine con DOM complessi
  • Esegui più processi di test in parallelo

Risoluzione dei Problemi di Timeout

Se stai riscontrando errori di timeout:

  1. Identifica quale operazione sta andando in timeout: Il messaggio di errore indica se è analyze, flush, start o stop.

  2. Controlla per altri problemi: I timeout a volte possono indicare problemi sottostanti come problemi di rete, proxy errati o pagine che non si caricano completamente.

  3. Rivedi la guida alla risoluzione dei problemi: Consulta Risoluzione dei problemi per ulteriori indicazioni.

Linguaggio Configurazione dei Timeout Valori predefiniti
JavaScript/TypeScript Completamente configurabile tramite l'oggetto timeout analisi: 5000ms, svuotamento: 5000ms, avvio: 2000ms, arresto: 5000ms
Java Non configurabile attualmente Impostato sui valori predefiniti di JavaScript/TypeScript: analisi: 5000ms, svuotamento: 5000ms, avvio: 2000ms, arresto: 5000ms

Per i progetti JavaScript e TypeScript, configurare timeout appropriati assicura un'esecuzione affidabile dei test in diversi ambienti. Gli utenti Java dovrebbero concentrarsi sull'ottimizzazione della struttura dei test e delle condizioni di rete.