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 im Vergleich zu einem "klassischen" Testfall zu einer längeren Ausführungszeit führen.
Um diese Einschränkung zu umgehen, nutzt msg.ZenTestAI intensiv Caching, um die Ausführungszeit zu beschleunigen. Das Caching erfolgt bei jeder 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.
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-Rate führen. Sie können die Cache-Hit-Rate optimieren, indem Sie in den App-Einstellungen HTML-Tags / Attribute / Klassen ignorieren, die für die Testausführung nicht relevant sind (siehe App-Settings).
Caching-Lebensdauer
Die Caching-Lebensdauer ist im Allgemeinen unbegrenzt, aber zwischengespeicherte Daten, 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 ermittelt mehrere stabile XPaths. Falls mehr als 50 % der XPaths ungültig sind oder andere 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 von dem vor der Assertion aufgenommenen Screenshot ab. Falls die Seite stabil ist und sich visuell nicht verändert hat, wird die Bedingung nicht neu bewertet, sondern der Cache verwendet.
Im Idealfall versuchen Sie, eine hohe Cache-Hit-Rate zu erreichen, um die Ausführungszeit zu beschleunigen. Dies können Sie bei der Elementidentifizierung erreichen, indem Sie dynamische Inhalte (z. B. Zeitstempel) im 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 Ausführungslisten-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 lassen. Dies zeigt Ihnen die Cache-Hits und -Misses für jeden Schritt an.