Définir les délais d’expiration
Ce guide décrit comment configurer les paramètres de délai d’expiration dans Axe Watcher pour JavaScript, TypeScript et Java
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.
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 :
-
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.
-
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.
-
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 :
-
Identifiez quelle opération expire : Le message d’erreur indique s’il s’agit de
analyze,flush,startoustop. -
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.
-
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.
