Zum Hauptinhalt springen

Automatisches Warten

msg.ZenTestAI wartet nach jedem Schritt automatisch darauf, dass die Seite vollständig im Leerlauf (idle) ist. Dies ist für eine stabile Testausführung erforderlich. Falls zum Beispiel ein Schritt ausgeführt würde, während im Hintergrund noch Skripte laufen, könnte die Testausführung bei jedem Durchlauf zu unterschiedlichen Ergebnissen führen.

Das automatische Warten von msg.ZenTestAI stoppt, sobald die Seite im Leerlauf ist. Leerlauf ist definiert durch:

  • Keine aktiven Netzwerkanfragen
  • Kein aktives Scrollen
  • Keine aktiven Animationen
  • Keine aktiven setTimeouts mit Zeitüberschreitungen von weniger als 20ms (dies ist besonders nützlich, um kleinere Skript-Timeouts zu erkennen, die zusätzliche Netzwerkanfragen auslösen)
  • Kein aktiver Ladeindikator

Falls die Seite nach 30 Sekunden nicht im Leerlauf ist, wird die Testausführung gestoppt und der Schritt als fehlgeschlagen markiert.

Nachdem ein Schritt ausgeführt wurde, wird erwartet, dass die Seite für mindestens 15ms im Leerlauf bleibt, bevor mit dem nächsten Schritt fortgefahren wird. Dies stellt sicher, dass die Seite vollständig geladen und alle Skripte ausgeführt sind. Nachdem eine Seite initial geladen wurde oder ein Navigationsereignis auftritt, wird erwartet, dass die Seite für mindestens 250ms im Leerlauf bleibt, bevor mit dem nächsten Schritt fortgefahren wird. Dies stellt sicher, dass alle Skripte ausgeführt und die Seite vollständig geladen ist.

Konfiguration des automatischen Wartens

Normalerweise sollte eine gut entwickelte Anwendung Wartezeiten beim Anwendungsstart ohne weitere Netzwerkanfragen vermeiden. Das bedeutet, dass ein konstanter Fluss an Seitenaktivität zu sehen sein sollte, bis die Seite vollständig geladen und bereit zum Testen ist. Einige Seiten erfordern jedoch viel Hintergrundaktivität ohne Netzwerkanfragen oder Ladeindikatoren. In einem solchen Szenario sollten Sie die genannten Timeouts in den Anwendungseinstellungen (zusätzliche Funktionen) erhöhen. Falls Ihre Seite einen Ladeindikator hat (z. B. einen Lade-Spinner oder Ähnliches), können Sie zusätzlich einen XPath zum Lade-Spinner definieren. Falls der Lade-Spinner auf der Seite sichtbar ist, wird das automatische Warten fortgesetzt.

Timeout-Überschreibung

Sie können das Timeout mit den folgenden Optionen überschreiben:

  • Weisen Sie den KI-Agenten explizit an, eine bestimmte Zeit lang zu warten. Dies kann durch die Verwendung der Wait-Aktion erfolgen.
  • Fügen Sie Wartezeiten zu einem Testfall-Schritt im Detailbereich eines Testfalls hinzu. Dies kann durch Klicken auf den Schritt und Hinzufügen einer Wartezeit im Detailbereich erfolgen.
  • Überschreiben Sie das maximale Timeout von 30 Sekunden in den Anwendungseinstellungen im Bereich "Automatisches Warten" im allgemeinen Abschnitt. Dieser Abschnitt ermöglicht es Ihnen, sowohl das maximale Timeout von 30 Sekunden als auch das minimale Leerlauf-Timeout nach Aktionen und nach dem Laden der Seite zu überschreiben.
  • Verwendung von Scripting: Sie können Ihren eigenen benutzerdefinierten JavaScript-Code injizieren, um auf bestimmte Elemente oder Bedingungen zu warten. Dies kann im Scripting-Bereich der Anwendung erfolgen.