Zum Hauptinhalt springen

So schreiben Sie einen guten Test

Die msg.ZenTestAI-Plattform wandelt Beschreibungen in natürlicher Sprache in ausführbare Testschritte um. Die Qualität des Tests hängt daher maßgeblich von der Qualität der von Ihnen verfassten Prompts ab. Die Prompts sollten klar und prägnant sein und pro Schritt eine der unterstützten Aktionen verwenden.

Wenn der Runner Ihren Test ausführt, verwendet er zunächst einen KI-Klassifikator, um jede Schrittbeschreibung einer der unterstützten Aktionen zuzuordnen. Je besser Ihr Prompt auf eine dieser Aktionen abgestimmt ist und je klarer Ihre Beschreibung des Zielelements, desto zuverlässiger wird der Schritt ausgeführt.

tipp

Schreiben Sie Testfälle so, dass eine Person, die die Anwendung noch nie zuvor gesehen hat, ihnen Schritt für Schritt folgen könnte. Je näher Ihr Prompt an einer "Klick-für-Klick"-Anweisung ist, desto einfacher kann der KI-Agent diese verstehen und ausführen.

Richtlinien

Sie erzielen die besten Ergebnisse, wenn Sie diese Richtlinien befolgen:

  • Denken Sie in Begriffen des DOM, nicht des Screenshots. Aktionen werden auf dem technischen DOM-Baum (Elemente, Bezeichnungen, Attribute) ausgeführt, nicht auf Basis von Pixeln. Die zu testende Seite sollte für eine Automatisierung hinreichend zugänglich sein — zumindest sollten Bezeichnungen (Labels), Rollen, IDs oder stabile Klassennamen vorhanden sein. Reine Bild-UIs (Canvas, benutzerdefinierte Renderings) sind schwer zu steuern.
  • Stimmen Sie Prompts auf die unterstützten Aktionen ab. Der Klassifikator ordnet Ihre Beschreibung genau einer Aktion pro Schritt zu. Wenn Ihr Prompt Aktionen vermischt (z. B. "klicken und dann eingeben"), teilen Sie ihn in zwei Schritte auf.
  • Vermeiden Sie mehrdeutige Verben. "Wert 'test' auswählen" kann Klicken, Auswählen aus einem Dropdown oder das Markieren von Text bedeuten. Seien Sie präzise: "klicken Sie auf das Menüelement …", "wählen Sie aus dem Dropdown …".
  • Verwenden Sie Anführungszeichen für wichtige Werte. Geben Sie "John Doe" in das Textfeld mit der Bezeichnung "Name" ein lässt sich wesentlich besser parsen als die Version ohne Anführungszeichen.
  • Ein Schritt = eine Aktion. Ein Schritt wird isoliert ausgeführt. Prompts wie "Ich erwarte, dass sich etwas ändert" oder "der Wert sollte anders sein" können nicht ausgewertet werden, da der Agent keinen Speicher für den vorherigen Zustand besitzt. Vergleichen Sie stattdessen mit konkreten Werten.
  • Entfernen Sie nicht die [[parameter]]-Platzhalter oder ${…}-Vorlagenausdrücke. Beide werden vom Klassifikator erkannt und zur Laufzeit aufgelöst. Siehe Parameter, Macros und Dynamische Berechnungen.
tipp

Direkt neben jedem Schritt befindet sich eine Erklären-Aktion (im Überlauf-Menü des Schritts). Sie zeigt genau, wie der KI-Agent Ihren Schritt verstanden hat — welche Aktion er gewählt hat, mit welchem Element er interagiert und welcher Wert verwendet wird. Nutzen Sie diese Funktion, bevor Sie den Prompt ändern, falls sich ein Schritt nicht wie erwartet verhält.

Aktionen

Der Runner unterstützt die folgenden Aktionen. Jeder Schritt wird genau einer davon zugeordnet.

AktionBeschreibung
KlickenEinfach-, Doppel-, Rechts-, Vorwärts- oder Rückwärtsklick auf ein Element.
Checkboxen / Radios / SwitchesSetzt eine Checkbox, ein Radio-Button oder einen Switch auf einen bestimmten Zustand (verwendet intern Klicken).
EingebenGibt Text in ein Textfeld ein; löschen, ersetzen oder anhängen; Datum in einem Date-Picker auswählen.
ErwartenÜberprüfung von Aspekten der Seite, URL, Tabs, Downloads oder Parameterwerten.
Aus Dropdown wählenWählt einen oder mehrere Werte aus einem Dropdown / einer Combobox aus.
Darüberfahren (Hover)Bewegen der Maus über ein Element (z. B. um einen Tooltip anzuzeigen).
FokussierenVerschiebt den Tastaturfokus auf ein Element.
ScrollenScrollt zu einem Element, an den Seitenrand, um eine Anzahl an Pixeln oder in einen Container.
Drag & DropZieht ein Quellelement und lässt es auf einem Zielelement los.
Slider / BereichBewegt einen Slider auf einen bestimmten Wert; Bereichs-Slider werden als zwei separate Schritte gesetzt.
Datei-UploadLädt eine oder mehrere Dateien (oder einen als .zip verpackten Ordner) in ein Datei-Eingabeelement hoch.
TastenkombinationDrücken einer Taste oder Tastenkombination (z. B. Strg+S).
WartenWartet für eine feste Zeit oder bis eine Bedingung erfüllt ist.
Browser-Tab wechselnZu einem Browser-Tab wechseln, einen erstellen oder schließen.
URL ändern / NavigationZu einer URL navigieren, Pfad/Hash ändern, vor/zurück gehen, neu laden oder eine heruntergeladene Datei öffnen.
BedingungFührt Schritte basierend auf einer einzelnen Bedingung aus.
BedingungsgruppeFührt einen von mehreren sich gegenseitig ausschließenden Zweigen aus (if / else-if / else).
Schleife / WiederholungWiederholt Schritte eine feste Anzahl von Malen oder bis eine Bedingung erfüllt ist.
Parameterwert speichernLiest einen Wert von der Seite und speichert ihn in einem Parameter für spätere Schritte.
Zu Transaktion gehen (nur SAP)Öffnet eine SAP Web GUI Transaktion über ihren Code (z. B. SE11).

Jeder Abschnitt weiter unten erläutert die Aktion im Detail.

Klicken

Verwenden Sie diese Aktion, um auf ein beliebiges Element auf der Seite zu klicken.

Der KI-Agent wird:

  • Entscheiden, wie geklickt wird. Unterstützte Varianten: Einfachklick (Standard), Doppelklick, Dreifachklick, Rechtsklick, Mittelklick, Zurück-Klick und Vorwärts-Klick (Maustasten). Erwähnen Sie die Variante in Ihrem Prompt, wenn Sie etwas anderes als einen einfachen Klick benötigen.
  • Das Element anhand Ihrer Beschreibung finden.
  • Es anklicken.

Standardmäßig schlägt der Schritt fehl, wenn das Element nicht anklickbar ist (deaktiviert, nicht sichtbar, hinter einem Modal). Sie können dieses Standardverhalten pro Seite in den Anwendungseinstellungen ändern, sodass der Agent nicht anklickbare Elemente ignoriert, anstatt den Test abzubrechen.

tipp

Ein Klick innerhalb eines Textfeldes platziert den Cursor am Ende des vorhandenen Textes. Das Markieren von Text innerhalb eines Textfeldes wird nicht unterstützt.

warnung

Einige Browser-Elemente können nicht über die Klick-Aktion gesteuert werden:

  • Native HTML <select>-Dropdowns (verwenden Sie stattdessen Aus Dropdown wählen).
  • Native Browser-Dialoge (Datei-Öffnen-Dialoge, JS-Prompts, …). Der einzige unterstützte Fall ist der Upload via Datei-Upload.
  • Browser-eigene Kontextmenüs bei Rechtsklick.

Beispiele:

  • Klicken auf den "Speichern"-Button
  • Doppelklick auf den "Speichern"-Button
  • Klicken auf das Textfeld mit der Bezeichnung "Name" im Bereich "Allgemein"

Checkboxen / Radios / Switches

Das Setzen einer Checkbox, eines Radio-Buttons oder eines Switches ist intern eine Klick-Aktion mit angehängtem Zielzustand. Der Agent prüft zuerst den aktuellen Zustand und klickt nur, wenn eine Änderung erforderlich ist.

Sie können entweder eine explizite Formulierung wie aktivieren / deaktivieren oder einfach umschalten (toggle) verwenden:

  • Aktivieren der Checkbox mit der Bezeichnung "Männlich"
  • Deaktivieren des Switches mit der Bezeichnung "Dunkelmodus"
  • Aktivieren des Radio-Buttons "Alter 10-15"
  • Umschalten des Switches "Benachrichtigungen"

Erkannte Verben: aktivieren, deaktivieren, einschalten, ausschalten, anhaken, abhaken, auswählen, umschalten.

Eingeben

Verwenden Sie diese Aktion, um Text in ein Input- oder Textarea-Feld einzugeben. Der Schritt schlägt fehl, wenn das Zielelement nicht beschreibbar ist.

Ein Eingabe-Prompt muss mindestens enthalten:

  1. Den einzugebenden Wert.
  2. Das Element, in das eingegeben werden soll.

Standardmäßig wird der vorhandene Text vor der Eingabe gelöscht und die Eingabe wird nicht bestätigt (Enter wird nicht gedrückt) — der Fokus wird danach einfach entfernt. Sie können die Standardeinstellungen in Ihrem Prompt überschreiben:

  • Feld vor der Eingabe löschen (oder behalten)
  • … und Enter drücken, um den Wert zu bestätigen
  • Ersetze "John" im Eingabefeld "Name" durch "Jane" — um einen Teilstring zu ersetzen
  • Leere das Textfeld mit der Bezeichnung "Name" — durch Setzen eines leeren Wertes

Sie können die Standardeinstellungen dieser Optionen pro Seite in den Anwendungseinstellungen ändern.

tipp

Eine gute Standardeinstellung für Bestätigung via Enter hängt stark von der Anwendung ab. Viele Apps erwarten implizit Enter nach der Eingabe. Konfigurieren Sie dies einmal pro Seite in den Anwendungseinstellungen, anstatt "und Enter drücken" jedem Schritt hinzuzufügen.

hinweis

Den Agenten aufzufordern zu tippen und zusätzlich die Enter-Taste über einen separaten Tastenkombinations-Schritt zu betätigen, ist unnötig und wird nicht empfohlen. Die Eingabe-Aktion handhabt die Bestätigung via Enter nativ, wenn Sie es im selben Schritt erwähnen.

Beispiele:

  • Gib "John Doe" in das Textfeld mit der Bezeichnung "Name" ein
  • Gib "John Doe" in das Textfeld mit der Bezeichnung "Name" ein und drücke Enter
  • Ersetze den Text "John" im Eingabefeld "Name" durch "Jane"
  • Leere das Textfeld mit der Bezeichnung "Name"
  • Gib "John Doe" in das Textfeld mit der Bezeichnung "Name" ein, ohne das Feld zu leeren
tipp

Alle Element-Aktionen berücksichtigen den gesamten DOM-Baum, einschließlich Elementen außerhalb des aktuellen Viewports. Abhängig von der Seiteneinstellung scrollt der Agent automatisch, um das Zielelement in den Sichtbereich zu bringen.

Date-Picker

Für Datums- und Zeitfelder sollten Sie Eingeben gegenüber Klicken bevorzugen. Die Eingabe-Aktion versteht gängige Datumsformate und verwendet automatisch den Date-Picker-Modus, wenn dies zuverlässiger ist als eine schrittweise Tastatureingabe.

  • Gib "01.01.2010" in den Date-Picker mit der Bezeichnung "Geburtsdatum" ein
  • Wähle "01.01.2010" im Date-Picker für das Feld "Geburtsdatum" aus ← wird weiterhin als Eingabe klassifiziert

Erwarten

Verwenden Sie die Erwarten-Aktion für alle Assertions. Der Agent nutzt generative KI, um Ihre Assertion anhand eines Screenshots der Seite (oder der URL / Tab / Downloads / Parameterkontext) zu bewerten. Rein technische Assertions (spezifische HTML-Attribute, CSS-Klassen, rohe DOM-Bäume) werden nicht unterstützt — msg.ZenTestAI führt Black-Box-Tests durch.

Sie können Aussagen treffen über:

  • Visuelles — alles, was auf einem Screenshot zu sehen ist (Sichtbarkeit, Farben, Layout, Vorhandensein von Text/Icons, Anzahl der Tabellenzeilen, …).
  • URL / Browser-Tabs — aktuelle URL, Seitentitel, Anzahl offener Tabs, URLs der Tabs.
  • Downloads — Anzahl heruntergeladener Dateien, Dateinamen.
  • Statische Fakten — alles, was aus Parameterwerten ableitbar ist, ohne die Seite zu inspizieren.

Sie können den Agenten auf einen Teilbereich fokussieren, indem Sie das übergeordnete Element im Prompt erwähnen (z. B. "in der Tabelle", "im Bereich Allgemein").

Formulierungsregeln — der Klassifikator schreibt jede Erwartung so um, dass sie mit "Ich erwarte, dass …" beginnt. Sätze wie "Ich kann X nicht sehen" werden als "Ich erwarte, dass X nicht sichtbar ist" interpretiert — machen Sie sich keine Gedanken über eigene Verneinungen.

warnung

Kombinieren Sie Assertions über dasselbe Ziel in einem Schritt, teilen Sie Assertions über verschiedene Ziele jedoch in separate Schritte auf:

  • ✅ Ein Schritt: "Ich erwarte, dass der Button rot und aktiviert ist" (ein Ziel — der Button).
  • ✅ Ein Schritt: "Ich erwarte, dass das Menü die Einträge Speichern und Abbrechen enthält" (ein Ziel — das Menü).
  • ❌ Ein Schritt: "Der Button ist rot und die Tabelle hat 10 Zeilen" — in zwei Schritte aufteilen.

Beispiele:

  • Erwarte, dass der Text "Hallo Welt" sichtbar ist
  • Erwarte, dass das Nummernschild des Autos den Text "MUC-123" enthält
  • Erwarte, dass die URL der Seite "https://www.msg-systems.com" ist
  • Erwarte, dass die Seite eine Tabelle mit 5 Zeilen enthält
  • Erwarte, dass der Bereich "Allgemein" ein Textfeld mit der Bezeichnung "Name" enthält
warnung

Scrollen und Assertions interagieren auf subtile Weise. Assertions basieren auf einem Screenshot, daher müssen Sie normalerweise nicht zuerst scrollen — der Agent erledigt das Richtige:

  • Wenn ein übergeordnetes Element angegeben ist (z. B. eine Tabelle), wird nur ein Screenshot dieses Elements erstellt.
  • Wenn ein einzelnes Element angegeben ist, scrollt der Agent dorthin und erstellt einen Screenshot der Seite.
  • Wenn nichts angegeben ist, erstellt der Agent einen Screenshot der gesamten Seite bis zu ~3000×3000 px (möglicherweise über den Viewport hinaus).

Aus Dropdown wählen

Verwenden Sie diese Aktion, um einen oder mehrere Werte aus einem Dropdown / einer Combobox auszuwählen.

Der Prompt muss mindestens enthalten:

  1. Den/die auszuwählenden Wert(e).
  2. Das Dropdown, aus dem gewählt werden soll.
tipp

Der Klassifikator benötigt einen expliziten Hinweis, dass es sich um ein Dropdown handelt — Wörter wie Dropdown, Combobox, Auswahlfeld lösen dies aus. Ein bloßes "Wähle 'grün' für Farbe" ist mehrdeutig und wird eher als Klick klassifiziert.

warnung

Verwenden Sie nicht die Klick-Aktion für native HTML <select>-Elemente. Diese können nicht per Klick gesteuert werden — verwenden Sie stattdessen diese Aktion.

Sie können 1…n Werte auswählen; bei Multi-Comboboxen triggert der Agent den Wert als Umschalter (es wird nicht zwischen Auswählen und Abwählen unterschieden — das Ergebnis hängt vom vorherigen Zustand ab). Kombinieren Sie mehrere Auswahlen aus derselben Combobox in einem Schritt.

Bei Multi-Comboboxen klickt der Agent am Ende einmal auf die Combobox, um sie zu schließen. Bei regulären Dropdowns geht er davon aus, dass sich das Dropdown nach der Auswahl selbst schließt — falls Ihre Komponente dies nicht tut, lassen Sie einen Klick zum Schließen folgen.

Beispiele:

  • Wähle "Deutschland" aus dem Dropdown mit der Bezeichnung "Land"
  • Wähle "Deutschland" und "Frankreich" aus dem Dropdown mit der Bezeichnung "Land"

Darüberfahren (Hover)

Bewegen Sie die Maus über ein Element (z. B. um einen Tooltip anzuzeigen) und lassen Sie sie dort.

Beispiele:

  • Fahre über den "Speichern"-Button
  • Fahre über das Textfeld mit der Bezeichnung "Name"

Fokussieren

Verschieben Sie den Tastaturfokus auf ein Element. Das Element muss fokussierbar sein.

Beispiele:

  • Fokussiere den "Speichern"-Button
  • Fokussiere das Textfeld mit der Bezeichnung "Name"

Scrollen

Scrollen unterstützt verschiedene Modi:

  1. Scrollen zu einem ElementScrolle zu dem Element mit der Bezeichnung "Footer".
  2. Scrollen an den Seitenanfang / -endeScrolle an das Ende der Seite.
  3. Scrollen um eine feste Anzahl von PixelnScrolle die Seite um 500 Pixel nach unten.
  4. Scrollen relativ zu einem ElementScrolle 500 Pixel nach unten relativ zum Element mit der Bezeichnung "Footer".
  5. Scrollen innerhalb eines ContainersScrolle die rechte Seite des Menüs mit der Bezeichnung "Navigation" um 500 Pixel.
tipp

Pixelbasiertes Scrollen und Seitenanfang/-ende funktionieren nur, wenn die gesamte Seite scrollbar ist (d. h., der Browser-Scrollbalken befindet sich auf der Seite selbst). Das Scrollen innerhalb eines Bereichs erfordert, dass Sie das übergeordnete Element benennen.

Drag & Drop

Ziehen Sie ein Quellelement und lassen Sie es auf einem Zielelement los. Beide müssen im selben Schritt benannt werden.

warnung

Drag & Drop unterstützt nicht:

  • Pixelbasierte Offsets (konzeptbedingt — pixelbasierte Offsets werden instabil, wenn sich das Layout ändert).
  • Ziehen zwischen verschiedenen Browser-Tabs.

Beschreiben Sie immer ein Zielelement, keine Position.

Beispiele:

  • Ziehe das Element mit der Bezeichnung "Zeile 1" auf das Element mit der Bezeichnung "Tabelle 2"
  • Ziehe das Element mit der Bezeichnung "Zeile 1" auf das Element mit der Bezeichnung "Tabelle 2" und lege es am Ende der Tabelle ab

Slider / Bereich

Bewegen Sie einen Slider (Bereichseingabe) auf einen bestimmten Wert. Der Prompt muss enthalten:

  1. Die Slider-Referenz (z. B. "der Slider im Bereich X mit der Bezeichnung Y").
  2. Den Zielwert.

Der Schritt schlägt fehl, wenn der Wert nicht erreicht werden kann (Min/Max-Grenzen, Schritt-Einschränkungen, …).

Bereichs-Slider mit zwei Schiebereglern müssen als zwei separate Schritte gesetzt werden, einer pro Regler.

Beispiele:

  • Setze den Slider im Bereich "test" mit der Bezeichnung "hallo" auf 50
  • Setze den unteren Regler des Bereichs-Sliders im Bereich "test" mit der Bezeichnung "hallo" auf 50. Setze den oberen Regler auf 100. (als zwei Schritte)
warnung

Nur Slider, die auf dem standardmäßigen, zugänglichen HTML-Muster basieren, werden unterstützt. Für nicht standardmäßige Slider-Implementierungen greifen Sie auf einfaches Drag & Drop zurück.

Datei-Upload

Laden Sie eine oder mehrere Dateien (oder einen als .zip verpackten Ordner) in ein Datei-Eingabeelement hoch.

Der Prompt muss enthalten:

  1. Die Datei(en) oder den Ordner für den Upload (nach Name oder Beschreibung).
  2. Das Ziel-Datei-Eingabeelement.

Die Datei(en) müssen zuerst über Dateien (Upload / Download) in den erweiterten Einstellungen des Schritts angehängt werden und im Mandanten unter Zusatzfunktionen → Datei-Upload verfügbar sein. Maximale Dateigröße: 10 MB pro Datei.

  • Wenn Sie dem Schritt eine Datei zuweisen, verwendet der Agent diese, unabhängig davon, wie Sie sie beschreiben.
  • Wenn Sie mehrere Dateien zuweisen, gleicht ein dedizierter Agent Ihre Beschreibung (oder Liste von Namen) mit der richtigen Datei / den richtigen Dateien ab.
  • Um einen ganzen Ordner hochzuladen, packen Sie ihn als .zip — der Runner entpackt ihn beim Upload.

Beispiele:

  • Lade die Datei "test.txt" in das Datei-Upload-Element mit der Bezeichnung "Upload" hoch
  • Lade die Dateien "image1.png" und "image2.png" in den Galerie-Upload hoch
warnung

Erwähnen Sie "Upload" nur, wenn Sie tatsächlich ein Datei-Eingabeelement auf der Seite sehen (typischerweise erkennbar an einem Durchsuchen-Button). Manche Anwendungen verstecken das Datei-Input hinter einem benutzerdefinierten UI; in diesem Fall müssen Sie Klicken auf den sichtbaren Auslöser anwenden und die Datei diesem Schritt zuweisen. Sie können nicht mit dem betriebssystemseitigen Auswahl-Dialog interagieren — dieser wird vom Browser gehandhabt, nicht von der Seite.

Tastenkombination

Drücken Sie eine Taste oder Tastenkombination auf der Seite. Tasten werden mit + verbunden. Die Tastenkombination wird im Kontext des zuvor fokussierten Elements gesendet.

Beispiele:

  • Drücke "Strg" + "C"
  • Drücke "Strg" + "Shift" + "A"
  • Drücke "Enter"
hinweis

Verwenden Sie URL ändern — nicht Tastenkombination — für Navigation auf Browser-Ebene. Zurückgehen, Vorwärtsgehen oder Neuladen ist eine andere Aktion, selbst wenn Sie dies als Benutzer mit einem Tastaturkürzel tun würden. Das Schreiben von "Drücke Alt+Links" navigiert nicht zuverlässig zurück; schreiben Sie stattdessen "Gehe zurück".

Ebenso benötigen Sie keinen Schritt für eine Tastenkombination, um einen eingegebenen Wert mit Enter zu bestätigen — das wird von Eingeben automatisch erledigt, wenn Sie es im selben Schritt erwähnen.

Warten

Warten Sie für eine feste Zeitdauer oder bis eine Bedingung erfüllt ist. Geben Sie die Zeit (mit optionaler Einheit — Standard ist Millisekunden) oder eine klare Beschreibung dessen an, worauf gewartet werden soll.

  • Warte 5 Sekunden
  • Warte 500 Millisekunden
  • Warte bis der Lade-Spinner verschwindet
  • Warte bis der "Speichern"-Button aktiviert ist
warnung

Die maximale Wartezeit beträgt 180 Sekunden (3 Minuten). Längere Wartezeiten werden begrenzt.

Explizite Wartezeiten sind oft ein Anzeichen für Probleme. msg.ZenTestAI wartet bereits automatisch vor jedem Schritt darauf, dass die Seite stabil ist (siehe Automatisches Warten). Wenn Sie dazu neigen, manuelle Wartezeiten hinzuzufügen, untersuchen Sie zuerst das zugrunde liegende Timing-Problem.

Browser-Tab wechseln

Zu einem Browser-Tab wechseln, einen öffnen oder schließen. Das detaillierte Verhalten wird unter Tab-Handhabung behandelt. Referenzieren Sie den Tab über den 1-basierten Index oder über URL / Titel.

URL ändern / Navigation

Navigieren im aktuellen Browser-Tab. Unterstützt fünf Varianten:

1. Zu einer URL navigieren — absolut oder partiell. Hash-only / Pfad-only Änderungen funktionieren.

  • Navigiere zu "https://www.msg-systems.com"
  • Ändere den Pfad der URL auf "/about"
  • Ändere den Hash der URL auf "#contact"

2. Zurücknavigieren — entspricht dem Zurück-Button des Browsers.

  • Gehe zurück
  • Navigiere zur vorherigen Seite

3. Vorwärtsnavigieren — entspricht dem Vorwärts-Button des Browsers.

  • Gehe vorwärts

4. Neu laden — die aktuelle Seite aktualisieren.

  • Lade die Seite neu
  • Aktualisiere

5. Heruntergeladene Datei öffnen — eine während derselben Ausführung bereits heruntergeladene Datei in einem neuen Tab öffnen.

  • Öffne die heruntergeladene Datei "report.pdf"
  • Öffne die zuletzt heruntergeladene Datei
tipp

Wenn Sie eine heruntergeladene Datei öffnen, ohne einen Namen anzugeben, wird die zuletzt heruntergeladene Datei geöffnet. Die Datei öffnet sich in einem neuen Browser-Tab — Sie müssen ggf. manuell dorthin wechseln.

warnung

Das Öffnen einer heruntergeladenen Datei ist nur möglich, wenn die Datei während der aktuellen Testausführung heruntergeladen wurde.

Bedingung

Führen Sie Schritte basierend auf einer einzelnen Booleschen Prüfung aus. Ein Bedingungsschritt benötigt:

  1. Die zu bewertende Bedingung.
  2. Den/die Schritt(e), die bei erfüllter Bedingung ausgeführt werden sollen (als Unterschritte).
  3. Optional den/die Schritt(e), die bei nicht erfüllter Bedingung ausgeführt werden sollen.

Die Bedingung selbst kann entweder anhand des aktuellen Screenshots (visuelle Prüfung) oder statischer Fakten (URL, Parameterwerte, Anzahl der Downloads, …) bewertet werden.

warnung

Bedingungen fügen Ausführungszweige hinzu und machen Tests schwerer lesbar. Wenn Sie dazu neigen, viele Bedingungen zu schreiben, erwägen Sie stattdessen die Aufteilung in zwei einfachere Tests.

Beispiele:

  • Wenn der Text "Hallo Welt" sichtbar ist, klicke auf den "Speichern"-Button, sonst klicke auf den "Abbrechen"-Button
  • Wenn die URL "https://www.msg-systems.com" ist, klicke auf den "Speichern"-Button
  • Wenn die Anzahl der Downloads 5 ist, klicke auf den "Speichern"-Button
  • Wenn der Text "Hallo Welt" sichtbar ist, klicke auf den "Speichern"-Button und gib "John Doe" in das Textfeld mit der Bezeichnung "Name" ein

Bedingungsgruppe

Verwenden Sie eine Bedingungsgruppe, wenn Sie mehrere sich gegenseitig ausschließende Zweige haben ("wenn A dann X, sonst wenn B dann Y, sonst Z"). Der Klassifikator erstellt einen Bedingungsgruppen-Schritt mit einem Bedingungs-Unterschritt pro Zweig. Jeder Bedingungs-Unterschritt enthält die Aktionen für diesen Zweig.

Beispiel:

  • Wenn der angezeigte Wert höher als 5 ist, drücke den Zurück-Button bis er 5 ist; andernfalls drücke den Vorwärts-Button bis er 5 ist.

Wird aufgelöst zu: einer Bedingungsgruppe → zwei Bedingungs-Unterschritten → jeweils mit einem Schleifen-Unterschritt → jeweils mit einem Klick-Unterschritt.

Schleife / Wiederholung

Wiederholen Sie einen Schritt (oder eine Sequenz von Schritten) eine feste Anzahl von Malen oder bis eine Bedingung erfüllt ist. Der Schleifen-Schritt benötigt:

  1. Die Abbruchbedingung oder Wiederholungsanzahl.
  2. Den/die zu wiederholenden Unterschritt(e).

Beispiele:

  • Klicke 5 Mal auf den "Speichern"-Button
  • Klicke auf den "Speichern"-Button bis der Text "Hallo Welt" sichtbar ist
  • Klicke den "Weiter"-Button bis der angezeigte Zähler 5 ist
tipp

Eine Schleife wird höchstens 10 Mal wiederholt. Nach 10 Iterationen geht der Agent davon aus, dass die Aktion nicht erreichbar ist, und bricht den Test ab.

Parameterwerte speichern

Lesen Sie einen Wert von der Seite (oder der URL, einem Attribut, einer Anzahl, …) und speichern Sie ihn in einem Parameter, damit spätere Schritte via [[parameterName]] darauf zugreifen können.

  • Speichere die Anzahl der Zeilen in der Tabelle als Parameter [[ZEILEN_ANZAHL]]
  • Speichere den Seitentitel im Parameter [[AKTUELLER_TITEL]]

Siehe Parameter und Testdaten für Informationen darüber, wie gespeicherte Parameter mit Varianten, Makros und Assertions interagieren.

Zu Transaktion gehen (nur SAP)

Nur verfügbar, wenn die zu testende Seite als SAP Web GUI identifiziert ist. Navigiert zur angegebenen SAP-Transaktion per Code.

  • Gehe zu Transaktion SE11
  • Öffne SAP-Transaktion SE16

Für andere Anwendungen wird dieselbe Formulierung stattdessen als Klick auf ein Navigationselement klassifiziert.

Parameter, Makros und Vorlagenausdrücke

Drei Syntax-Formen werden innerhalb von Schrittbeschreibungen und Feldwerten erkannt und vom Klassifikator unverändert gelassen:

SyntaxBedeutungMehr dazu
[[parameterName]]Referenz auf einen Parameter, aufgelöst pro Variante oder durch einen vorherigen Speichern-Schritt.Parameter
${=macroKeyword(args)}Makro-Aufruf — führt eine wiederverwendbare Funktion aus und fügt den Rückgabewert ein.Makros
${ free-text expression }Dynamische Berechnung, die von einem KI-Agent ausgewertet wird (z. B. ${current date in DD.MM.YYYY}). Sparsam verwenden — bevorzugen Sie Makros.Dynamische Berechnungen

Alle drei können innerhalb einer einzigen Schrittbeschreibung kombiniert werden (z. B. durch Verwendung eines Parameters als Makro-Argument: ${=global_addDays([[OFFSET]])}).