Définir les délais d’expiration

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

Ce guide décrit comment configurer les paramètres de délai d’expiration dans Axe Watcher pour JavaScript, TypeScript et Java

Not for use with personal data

Lors de l’exécution de tests d’accessibilité avec Axe Watcher, vous pouvez rencontrer des délais d’expiration, surtout sur des pages complexes, sur des réseaux lents, ou dans des environnements CI/CD avec des ressources limitées. Ce guide explique comment configurer les valeurs de délai d’expiration pour garantir la réussite de vos tests.

note

Bien que l'implémentation Java de Watcher ne prenne pas en charge les délais d’expiration personnalisés, il existe plusieurs stratégies que vous pouvez suivre pour aider à réduire le besoin de délais d’expiration. Voir Solutions pour les problèmes de délai d’expiration Java.

Comprendre les délais d’expiration de Watcher

Axe Watcher communique avec les serveurs de Deque lors des exécutions de test et effectue des opérations d'analyse dont la durée peut varier selon la complexité de la page. Quatre opérations ont des délais d’expiration configurables :

  • analyze : Temps alloué pour analyser l’accessibilité d’une page (par défaut : 5000ms)
  • flush : Temps alloué pour envoyer les résultats au Axe Developer Hub (par défaut : 5000ms)
  • start : Temps alloué pour reprendre l’auto-analyse (par défaut : 2000ms)
  • stop : Temps alloué pour suspendre l’auto-analyse (par défaut : 5000ms)

Si vous rencontrez des erreurs de délai d’expiration avec Watcher, vous verrez un message similaire à :

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.

Configuration JavaScript et TypeScript

Pour les projets JavaScript et TypeScript utilisant le package @axe-core/watcher, vous pouvez configurer les délais d’expiration via la propriété timeout dans votre objet AxeConfiguration.

Configuration de base des délais d’expiration

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
    }
  }
});

Vous devez seulement spécifier les délais d’expiration que vous souhaitez remplacer ; toute valeur omise utilise les valeurs par défaut.

Considérations importantes pour JavaScript/TypeScript

Les valeurs de délai d’expiration de Watcher sont indépendantes de celles de votre propre cadre de test. Si vous voyez des échecs de délai d’expiration, vous devrez peut-être ajuster les deux. L'exemple ci-dessous montre comment régler le délai d’expiration de Playwright pour qu'il corresponde à celui de 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);
  // ...
});

Si vous enchaînez des commandes, assurez-vous que le délai d’expiration global de votre test prend en compte la durée totale des opérations.

Configuration Java

Watcher Java ne prend pas actuellement en charge les délais d’expiration personnalisés. Les valeurs de délai d’expiration sont définies dans l’implémentation Java sur les valeurs initiales JavaScript/TypeScript.

Solutions pour les problèmes de délai d’expiration Java

Bien que vous ne puissiez pas configurer directement les délais d’expiration en Java, envisagez ces approches :

  1. Optimiser la complexité de la page : Si les pages expirent constamment lors de l’analyse, envisagez de diviser les tests en cas de test plus petits et plus ciblés qui analysent moins d’états de page.

  2. Vérifier les conditions réseau : Assurez-vous de la stabilité de la connectivité réseau entre votre environnement de test et les serveurs de Deque, en particulier dans les pipelines CI/CD.

  3. Contacter le support Deque : Si les problèmes de délai d’expiration persistent, contactez l’équipe de support de Deque, car les futures versions de Java Watcher pourraient inclure des délais d’expiration configurables.

Quand augmenter les délais d’expiration

Envisagez d’augmenter les valeurs de délai d’expiration lorsque :

  • Des pages de test avec de grandes structures DOM (milliers d'éléments)
  • Des tests sont effectués dans des environnements CI/CD à ressources limitées
  • Des tests sont effectués sur des connexions réseau à haute latence
  • Des pages avec des DOM complexes sont analysées
  • Plusieurs processus de test parallèles sont exécutés

Résolution des erreurs de délai d’expiration

Si vous rencontrez des erreurs de délai d’expiration :

  1. Identifiez quelle opération expire : Le message d’erreur indique s’il s’agit de analyze, flush, start ou stop.

  2. Vérifiez d'autres problèmes : Les délais d’expiration peuvent parfois indiquer des problèmes sous-jacents tels que des problèmes de réseau, des proxys mal configurés, ou des pages qui ne se chargent pas complètement.

  3. Consultez le guide de dépannage : Consultez Dépannage pour des conseils supplémentaires.

Résumé

Langue Configuration des délais d’expiration Valeurs par défaut
JavaScript/TypeScript Entièrement configurable via l'objet timeout analyze : 5000ms, flush : 5000ms, start : 2000ms, stop : 5000ms
Java Pas encore configurable Défini sur les valeurs par défaut JavaScript/TypeScript : analyze : 5000ms, flush : 5000ms, start : 2000ms, stop : 5000ms

Pour les projets JavaScript et TypeScript, configurer des délais d'attente appropriés assure une exécution fiable des tests sur tous les environnements. Les utilisateurs de Java devraient se concentrer sur l'optimisation de la structure des tests et des conditions réseau.