Parameter und Testdaten
Sie können einen Testfall parametrisieren, um ihn mit unterschiedlichen Daten, Benutzern, Umgebungen oder Browsersprachen auszuführen — ohne den Test für jede Variante kopieren zu müssen. Die beiden Bausteine hierfür sind:
- Parameter — benannte Platzhalter, auf die Sie aus Schritten oder der Start-URL verweisen.
- Ausführungsvarianten — konkrete Sätze von Parameterwerten (sowie optionale Überschreibungen für URL, Benutzer/Rolle und Sprache), die aus einer Testdefinition mehrere ausführbare Durchläufe machen.
Dieses Kapitel behandelt beides sowie das „Merken“-Muster (Remember) zum Erfassen von Werten während eines Laufs.
Parameter
Ein Parameter ist ein benannter Wert, auf den aus jedem Freitextfeld in Ihrem Test verwiesen werden kann (Schrittbeschreibungen, Start-URL, Anweisungen in KI-Schritten, …).
Parameter definieren
Es gibt kein separates „Parameter“-Formular — Sie müssen nirgendwo hingehen, um sie vorab zu deklarieren. Parameter werden in dem Moment erstellt, in dem Sie sie verwenden:
- In einer Schrittbeschreibung geben Sie
=ein, um die Autovervollständigung zu öffnen. Diese listet alle verfügbaren Parameter (und Makros) auf sowie einen Parameter erstellen-Eintrag, um einen neuen inline hinzuzufügen. Wählen Sie einen vorhandenen aus oder erstellen Sie einen neuen — der Editor fügt den Verweis für Sie ein. - Verwenden Sie den Parameter-Button in der Symbolleiste neben dem Editor für Schrittbeschreibungen — er öffnet dieselbe Auswahl ohne die Eingabe von
=. - Oder tippen Sie einfach
[[PARAMETER_NAME]]direkt. msg.ZenTestAI leitet den Parameter automatisch aus dem Schritttext ab und fügt ihn zum Tab Varianten hinzu. Das funktioniert, ist aber selten nötig — die Auswahl über das Menü ist schneller und vermeidet Tippfehler.
Der Parameter erscheint dann auf dem Tab Varianten, wo Sie seinen Wert für jede Variante festlegen können.
Parametertypen
Es werden drei Typen unterstützt:
| Typ | Verwendung für |
|---|---|
| Text | Der Standard — jeder Zeichenfolgenwert (Namen, IDs, URLs, Daten, …). |
| Boolean | true / false. Besonders nützlich bei bedingten Einstellungen / Schritt deaktivieren. |
| Tabellarisch | Tabellenwerte mit mehreren Zeilen, nützlich für datengesteuerte Schleifen, bei denen eine Variante über viele Zeilen iterieren muss. |
Wo Parameter verwendet werden können
- Innerhalb der Start-URL (Abfrage- oder Pfadsegmente).
- In jeder Schrittbeschreibung — einschließlich Assertions, Merken-Aufforderungen und KI-Schrittanweisungen.
- In Makro-Argumenten — z. B.
${=global_addDays(7, YYYY-MM-DD, [[startDate]])}— siehe Makros. - In anderen Parameterwerten einer Variante, sodass ein Parameter aus einem anderen zusammengesetzt werden kann.
Für berechnete Werte — das heutige Datum, eine Summe, eine Zufallszahl — bevorzugen Sie ein Makro gegenüber einer dynamischen Berechnung. Makros sind deterministisch und isoliert testbar; ihr Ergebnis kann einem Parameter mittels Merken zugewiesen werden, falls Sie denselben Wert in vielen Schritten benötigen.
Ausführungsvarianten
Ein Testfall hat eine oder mehrere Ausführungsvarianten. Jede Variante ist ein benannter Satz aus:
- Parameterwerten — was jeder Parameter für einen Wert haben soll.
- Überschreibungen — optionales Ersetzen der Start-URL des Tests, des Benutzers/der Rolle oder der Browsersprache.
Sie verwalten diese auf dem Tab Varianten der Seite mit den Testdetails.
Die Standard-Variante
Jeder Test beginnt mit einer impliziten Variante namens Default. Sie kann weder umbenannt noch gelöscht werden. Die Default-Variante dient als Fallback:
- wenn der Test ausgeführt wird, ohne explizit eine Variante auszuwählen (z. B. über die Play-Aktion in der Testliste),
- wenn ein Parameter in einer anderen Variante leer gelassen wird — der Wert aus der Default-Variante wird als Fallback verwendet,
- wenn ein referenzierter Ausführungsplan keine Variante für diesen Test spezifiziert.
Varianten hinzufügen
Klicken Sie auf Neue Ausführungsvariante hinzufügen, um eine weitere zu erstellen. Füllen Sie dann Folgendes aus:
- Einen Namen (oder wählen Sie aus vorgeschlagenen Label-Tags wie Desktop / Mobile / DE / EN).
- Einen Wert für jeden Parameter, der im Test definiert ist. Lassen Sie einen Wert leer, um ihn von der Default-Variante zu erben. Parameterwerte können selbst
[[andererParameter]]-Verweise und${=makro(...)}-Aufrufe enthalten. - Optionale Überschreibungen (siehe unten).
Die Liste auf der linken Seite des Tabs zeigt jede Variante; die aktuell ausgewählte wird rechts angezeigt.
Variantenaktionen
Jede Variantenzeile hat:
- ein Optionsfeld (Radio-Button), um sie zur Bearbeitung auszuwählen,
- eine Namenseingabe (Default hat ein festes Chip-Label),
- eine Kopieren-Aktion, um die Variante mit allen Überschreibungen und Werten zu duplizieren,
- eine Löschen-Aktion (ausgeblendet für Default und für Varianten, die aus einem externen System synchronisiert wurden).
Überschreibungen
Am unteren Rand des Varianten-Editors stehen drei Schalter zur Verfügung — jeder ist standardmäßig deaktiviert und wird zu einer Wertauswahl, sobald er aktiviert wird:
- URL überschreiben — führen Sie diese Variante mit einer anderen Start-URL aus als der auf dem Tab „Allgemein“. Nützlich, um denselben Test in verschiedenen Umgebungen auszuführen.
- Benutzer/Rolle überschreiben — Ausführung als anderer Agent als die Standardvorgabe des Tests. Verwenden Sie dies für „gleicher Ablauf, andere Rolle“-Varianten.
- Sprache überschreiben — Legen Sie das Browser-Locale für den Lauf fest (z. B.
de,en,fr). Beeinflusst, was der Browser der zu testenden Anwendung meldet; nützlich, wenn Sie denselben Ablauf in verschiedenen Lokalisierungen testen möchten.
Einen Test mit Varianten ausführen
Wenn Sie auf der Seite mit den Testdetails auf Test ausführen klicken, erscheint eine Variantenauswahl:
- Während der normalen Ausführung können Sie mehrere Varianten ankreuzen — jede ausgewählte Variante wird als separater Lauf ausgeführt.
- Während der Aufzeichnung können Sie nur eine Variante auswählen.
- Sie müssen mindestens eine Variante auswählen — der Dialog weist eine leere Auswahl zurück.
Wenn Sie einen Lauf aus der Testliste starten (die Play-Aktion in einer Zeile), wird die Variantenauswahl nicht angezeigt — der Test läuft mit seiner Default-Variante. Um eine spezifische, nicht-standardmäßige Variante auszuführen, öffnen Sie die Testdetails und verwenden Sie Test ausführen.
Werte während eines Laufs erfassen — Merken
Über die Werte hinaus, die Sie in einer Variante festlegen, können Parameter auch zur Ausführungszeit gefüllt werden mit dem, was auf dem Bildschirm sichtbar ist, indem Sie einen Merken-Schritt verwenden:
Merke die Bestellnummer aus der Bestätigungsmeldung im Parameter ORDER_NUMBER
Wenn Sie den Zielparameter innerhalb einer Merken-Aufforderung benennen, schreiben Sie den Parameternamen ohne die [[ ]]-Klammern — diese werden nur verwendet, wenn der Parameter in einem späteren Schritt wieder gelesen wird.
Der erfasste Wert wird in den Ausführungsdetails für diesen Lauf angezeigt und kann von späteren Schritten im selben Test oder — durch einen Ausführungsplan — von folgenden Tests verwendet werden.
Parameter zwischen Tests teilen
Parameter existieren innerhalb eines einzelnen Tests, aber ihre Werte können über Ausführungspläne in andere Tests fließen:
- Test A erfasst einen Wert in einem Parameter mit einem Merken-Schritt (z. B.
ORDER_ID). - Im Ausführungsplan binden Sie die Ausgabe
ORDER_IDvon Test A an den ParameterORDER_IDvon Test B. - Wenn der Plan ausgeführt wird, sieht Test B den in Test A erfassten Wert.
Dies ist der Standardweg für End-to-End- / Multi-Test-Szenarien — Erstellen einer Bestellung in einem Test, Genehmigen in einem anderen, Archivieren in einem dritten.
Wann werden Parameter aufgelöst?
Die Parameter-Substitution erfolgt in zwei Phasen:
- Bei der Interpretation — wenn die Testbeschreibung in ausführbare Schritte übersetzt wird. Nur Parameter, die auf dem Tab „Varianten“ definiert sind und nicht durch einen früheren Merken-Schritt aktualisiert werden, werden hier aufgelöst.
- Bei der Ausführung — kurz bevor jeder Schritt ausgeführt wird. Dynamische Parameter (die durch Merken gesetzt wurden) werden mit ihrem aktuellen Wert aufgelöst.
Praxisbeispiel
Schritt 1: Ich klicke auf den Button mit dem Text [[BUTTON_TEXT]]
Schritt 2: Merke den sichtbaren Button-Text im Parameter BUTTON_TEXT
Schritt 3: Ich klicke auf den Button mit dem Text [[BUTTON_TEXT]]
Mit BUTTON_TEXT = "Wert" in der Variante gesetzt:
- Schritt 1 wird während der Interpretation aufgelöst. Der KI-Agent sieht:
Ich klicke auf den Button mit dem Text Wert. - Schritt 3 wird nicht während der Interpretation aufgelöst — der Agent sieht den literalen Text
[[BUTTON_TEXT]]und weiß, dass der Wert zur Ausführungszeit eintreffen wird. Die Aktion, die er bestimmt (Klicken eines Buttons per Text), wird daher vorab festgelegt. - Bei der Ausführung löst Schritt 3
BUTTON_TEXTauf den in Schritt 2 erfassten Wert auf und klickt diesen Button.
Einschränkung
Sie können keinen Merken-Schritt verwenden, um den Aktionstyp eines Schrittes zu ändern. Die Interpretationsphase muss wissen, welche Art von Aktion jeder Schritt ausführt (klicken, eingeben, asserten, …), bevor ein Merken stattfindet.
STEP_DEFINITION = "Klicke auf den Button mit dem Text ABC"
Schritt 1: Schreibe Hallo
Schritt 2: Merke den Wert aus der Combobox im Parameter STEP_DEFINITION
Schritt 3: [[STEP_DEFINITION]]
Schritt 3 schlägt fehl — die Interpretation sieht nur [[STEP_DEFINITION]] und kann keine Aktion wählen. Der dynamisch gesetzte Schritttext erhält nie die Chance, eine echte Aktion auszulösen.
Tests, die an ein externes System gebunden sind
Für Testfälle, die aus Jira XRay oder Zephyr importiert und mit synchronisierten Testdaten an diese gebunden sind, werden Varianten und deren Parameterwerte schreibgeschützt. Das externe System ist der Master für den Datensatz; heben Sie die Verknüpfung des Tests auf (siehe Externe Systeme), falls Sie die Varianten lokal bearbeiten müssen.