Timeouts festlegen

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

Diese Anleitung beschreibt, wie Sie Timeout-Einstellungen in Axe Watcher für JavaScript, TypeScript und Java konfigurieren

Not for use with personal data

Beim Ausführen von Barrierefreiheitstests mit Axe Watcher können Timeouts auftreten, insbesondere bei komplexen Seiten, langsamen Netzwerken oder in CI/CD-Umgebungen mit begrenzten Ressourcen. Diese Anleitung erklärt, wie Sie Timeout-Werte konfigurieren, um sicherzustellen, dass Ihre Tests erfolgreich abgeschlossen werden.

note

Obwohl die Java-Implementierung von Watcher keine benutzerdefinierten Timeouts unterstützt, gibt es mehrere Strategien, die Sie befolgen können, um den Bedarf an Timeouts zu reduzieren. Siehe Lösungen für Java-Timeout-Probleme.

Verständnis von Watcher-Timeouts

Axe Watcher kommuniziert während der Testläufe mit den Servern von Deque und führt Analyseoperationen durch, deren Dauer je nach Seitenkomplexität variieren kann. Vier Operationen haben konfigurierbare Timeouts:

  • analyze: Zeit für die Analyse der Barrierefreiheit einer Seite (Standard: 5000 ms)
  • flush: Zeit zum Senden der Ergebnisse an das Axe Developer Hub (Standard: 5000 ms)
  • start: Zeit für die Wiederaufnahme der automatischen Analyse (Standard: 2000 ms)
  • stop: Zeit für das Pausieren der automatischen Analyse (Standard: 5000 ms)

Wenn Sie Timeout-Fehler mit Watcher feststellen, erscheint eine Nachricht ähnlich der folgenden:

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.

Konfiguration für JavaScript und TypeScript

Für JavaScript- und TypeScript-Projekte, die das @axe-core/watcher-Paket verwenden, können Sie Timeouts über die timeout-Eigenschaft in Ihrem AxeConfiguration-Objekt konfigurieren.

Grundlegende Timeout-Konfiguration

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

Sie müssen nur die Timeouts angeben, die Sie überschreiben möchten; alle ausgelassenen Werte verwenden ihre Standardwerte.

Wichtige Überlegungen für JavaScript/TypeScript

Die Timeout-Werte von Watcher sind unabhängig von den Timeouts Ihres Testframeworks. Wenn Sie Timeout-Fehler sehen, müssen Sie möglicherweise beide anpassen. Das folgende Beispiel zeigt, wie Sie das Timeout von Playwright so einstellen, dass es zu dem von Watcher passt.

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

Wenn Sie Befehle verketten, stellen Sie sicher, dass Ihr Gesamt-Timeout die Gesamtdauer der Operationen berücksichtigt.

Java-Konfiguration

Die Java Watcher unterstützt derzeit keine benutzerdefinierten Timeouts. Die Timeout-Werte sind in der Java-Implementierung auf die anfänglichen JavaScript/TypeScript-Werte festgelegt.

Lösungen für Java-Timeout-Probleme

Während Sie in Java keine Timeouts direkt konfigurieren können, sollten Sie folgende Ansätze in Betracht ziehen:

  1. Seitenkomplexität optimieren: Wenn Seiten während der Analyse regelmäßig Timeout erreichen, sollten Sie Tests in kleinere, fokussiertere Testfälle aufteilen, die weniger Seitenzustände analysieren.

  2. Netzwerkbedingungen überprüfen: Stellen Sie sicher, dass eine stabile Netzwerkverbindung zwischen Ihrer Testumgebung und den Servern von Deque, insbesondere in CI/CD-Pipelines, besteht.

  3. Deque-Support kontaktieren: Wenn Timeout-Probleme bestehen bleiben, kontaktieren Sie das Support-Team von Deque, da zukünftige Versionen von Java Watcher möglicherweise konfigurierbare Timeouts beinhalten.

Wann Timeouts erhöht werden sollten

Erwägen Sie eine Erhöhung der Timeout-Werte, wenn:

  • Seiten mit großen DOM-Strukturen (tausende von Elementen) getestet werden
  • Tests in ressourcenbeschränkten CI/CD-Umgebungen durchgeführt werden
  • Tests über Verbindungen mit hoher Latenz durchgeführt werden
  • Seiten mit komplexen DOMs analysiert werden
  • Mehrere parallele Testprozesse durchgeführt werden

Fehlerbehebung bei Timeout-Fehlern

Wenn Sie Timeout-Fehler erleben:

  1. Identifizieren Sie, welche Operation ein Timeout verursacht: Die Fehlermeldung gibt an, ob es sich um analyze, flush, start oder stop handelt.

  2. Nach anderen Problemen suchen: Timeouts können manchmal auf zugrunde liegende Probleme wie Netzwerkprobleme, falsch konfigurierte Proxys oder Seiten, die nicht vollständig geladen werden, hinweisen.

  3. Das Fehlerbehebungsleitfaden prüfen: Siehe Fehlerbehebung für weitere Anleitungen.

Zusammenfassung

Sprache Timeout-Konfiguration Standardwerte
JavaScript/TypeScript Vollständig konfigurierbar über timeout Objekt analyze: 5000ms, flush: 5000ms, start: 2000ms, stop: 5000ms
Java Derzeit nicht konfigurierbar Auf die Standardwerte von JavaScript/TypeScript eingestellt: analyze: 5000ms, flush: 5000ms, start: 2000ms, stop: 5000ms

Für JavaScript- und TypeScript-Projekte gewährleistet die Konfiguration geeigneter Zeitüberschreitungen eine zuverlässige Testausführung über verschiedene Umgebungen hinweg. Java-Nutzer sollten sich auf die Optimierung der Teststruktur und der Netzwerkbedingungen konzentrieren.