Zum Hauptinhalt springen

Caching & Runtime

msg.ZenTestAI führt den Testfall unter Verwendung des bewährten Playwright-Frameworks aus. Im Vergleich zu einem „klassischen“ Testfall mit Playwright muss msg.ZenTestAI zusätzlich mehrere KI-Agenten ausführen, um zu bestimmen, was als Nächstes zu tun ist. Dies kann zu einer längeren Ausführungszeit im Vergleich zu einem „klassischen“ Testfall führen.

Um diese Einschränkung zu umgehen, nutzt msg.ZenTestAI intensiv Caching, um die Ausführungszeit zu verkürzen. Das Caching erfolgt für jede KI-Kommunikation. Das bedeutet, dass bei der Wiederholung eines Testfalls auf einer statischen Webseite keine KI-Kommunikation stattfindet und die Ausführungszeit der eines „klassischen“ Testfalls entspricht.

tipp

Der Cache von msg.ZenTestAI hängt vom Screenshot der Webseite oder dem HTML-DOM-Baum ab. Wenn sich die Webseite ändert, wird der Cache ungültig. Falls Sie dynamische Elemente im HTML-DOM-Baum haben, kann dies zu einer hohen Cache-Miss-Quote führen. Sie können die Cache-Hit-Quote optimieren, indem Sie HTML-Tags/Attribute/Klassen, die für die Testausführung nicht relevant sind, in den App-Einstellungen ignorieren (siehe App-Settings).

Cache-Lebensdauer

Die Lebensdauer des Caches ist im Allgemeinen unbegrenzt, aber ungültige Caches, die länger als eine Woche nicht verwendet wurden, werden gelöscht. Die Caching-Strategie hängt vom Anwendungsfall ab:

  • Für die Schrittbestimmung: Basierend auf der Schrittbeschreibung.
  • Für die Elementidentifizierung: Basierend auf dem HTML-DOM-Baum der Seite. Das Caching bestimmt mehrere stabile XPaths. Falls mehr als 50 % der XPaths ungültig sind oder unterschiedliche Elemente zurückgeben, wird das Element von Grund auf neu gesucht.
  • Für Assertions: Die Eingabe für eine Assertion ist ein Screenshot der Seite für den KI-Vision-Agenten. Der Cache hängt daher vom Screenshot ab, der vor der Assertion aufgenommen wurde. Falls die Seite stabil ist und sich visuell nicht verändert hat, wird die Bedingung nicht neu bewertet, sondern der Cache verwendet.
tipp

Idealerweise versuchen Sie, eine hohe Cache-Hit-Quote zu erreichen, um die Ausführungszeit zu verkürzen. Dies können Sie bei der Elementidentifizierung erreichen, indem Sie dynamische Inhalte (z. B. Zeitstempel) aus dem HTML-DOM-Baum in den App-Einstellungen ausschließen. Für Assertions wird es in Zukunft Optionen geben, Teile der Seite auszuschließen.

Sie können die Cache-Hits überwachen, indem Sie den gesamten Token-Verbrauch in der Ansicht „Execution List“ überprüfen. Speziell für einen Ausführungsschritt können Sie das Dropdown-Menü oben rechts in der Ausführungsansicht verwenden und „Token consumption“ anzeigen. Dies zeigt Ihnen die Cache-Hits und -Misses für jeden Schritt an.