Zum Hauptinhalt springen

Wiederverwendbarkeit — Snippets

Der primäre Mechanismus zur Wiederverwendung in msg.ZenTestAI ist das Snippet. Ein Snippet ist ein Teil der Testlogik – eine kurze Abfolge von Schritten, die normalerweise in Aktivitäten organisiert sind –, die Sie einmal erstellen und dann von beliebig vielen Testfällen aus aufrufen können. Das klassische Beispiel ist Login: Anstatt dieselben fünf Login-Schritte in jeden Test zu kopieren, schreiben Sie diese einmal als Snippet und referenzieren dieses Snippet in jedem Test, der eine Anmeldung erfordert.

Was ist ein Snippet?

Strukturell gesehen ist ein Snippet fast identisch mit einem Testfall. Es verfügt über Schritte, Aktivitäten, Parameter und dieselben Metadaten im Reiter "Allgemein", ist jedoch nicht direkt ausführbar. Es wird nur ausgeführt, wenn ein Testfall es über einen Snippet-Referenz-Schritt aufruft. Snippets erhalten eine eigene Seite in der linken Navigation (Snippets) und verhalten sich genau wie die Liste der Testfälle, mit dem offensichtlichen Unterschied, dass es in einer Snippet-Zeile keine Play / Ausführen-Aktion gibt.

Die Unterschiede zwischen einer Snippet-Definition und einer Test-Definition sind bewusst klein gehalten, und fast alle betreffen Felder, die für einen Baustein keinen Sinn ergeben würden:

  • Tags und Bei fehlgeschlagenen HTTP-Anfragen abbrechen sind ausgeblendet – diese gelten für den aufrufenden Test, nicht für das Snippet.
  • Start-URL und Benutzer / Rolle erscheinen nur, wenn Login erforderlich aktiviert ist.
  • Ein zusätzlicher Isoliert-Schalter erscheint, wenn Login erforderlich aktiviert ist (siehe Isolierte Snippets unten).
  • Aktivitäten funktionieren genauso wie in einem Test, mit einer leicht vereinfachten Hover-Toolbar.

Abgesehen davon ist der Editor identisch: derselbe Reiter "Schritte", dieselben Parameter, derselbe Änderungsverlauf, dieselbe Aufzeichnung und dieselben erweiterten Schritteinstellungen.

Wie ein Snippet aufgerufen wird

Sie fügen ein Snippet in einen Test ein, indem Sie im Reiter "Schritte" einen Snippet-Referenz-Schritt hinzufügen. Die Schritt-Auswahl bietet eine Liste aller im Mandanten verfügbaren Snippets; wählen Sie eines aus, und der Schritt wird erstellt.

Ein Snippet-Referenz-Schritt bewirkt zwei Dinge:

  1. Er markiert die Position im Test, an der die Schritte des Snippets ausgeführt werden sollen.
  2. Er enthält eine Parameter-Bindung – eine Zuordnung, die für jeden Parameter, den die internen Schritte des Snippets erwarten, festlegt, woher der Wert stammt. Bindungen können fest kodierte Werte, Referenzen auf die Parameter des aufrufenden Tests oder – wenn die Referenz in einer Schleife eingeschlossen ist – Spaltenreferenzen in eine Datentabelle sein.

Zur Laufzeit werden die Schritte des Snippets an der Position der Referenz in die Schrittliste des Tests eingebettet (inlined). In den Ausführungsergebnissen bleiben die eingebetteten Schritte unter einer Überschrift Snippet: <Name> gruppiert, sodass Sie sehen können, wo der Beitrag des Snippets beginnt und endet.

Ein Snippet kann in vielen Tests und mehrmals im selben Test verwendet werden. Die einzige Einschränkung ist: keine zirkulären Referenzen – ein Snippet kann sich nicht direkt oder indirekt selbst aufrufen.

Isolierte Snippets

Wenn bei einem Snippet sowohl Login erforderlich als auch der Isoliert-Schalter aktiviert ist, gibt msg.ZenTestAI ihm zur Laufzeit eine eigene Browsersitzung. Cookies und lokaler Speicher werden vor der Ausführung des Snippets als Snapshot gespeichert und nach dessen Abschluss wiederhergestellt. Dies ist die richtige Einstellung, wenn sich das Snippet als anderer Benutzer als der aufrufende Test anmelden muss – zum Beispiel ein Snippet, das innerhalb eines Tests für normale Benutzer eine Genehmigung als Administrator durchführt.

Ohne Isoliert teilt sich das Snippet die Browsersitzung des aufrufenden Tests.

Ein Snippet erstellen

Sie können ein Snippet auf zwei Arten erstellen.

Von Grund auf neu auf der Snippets-Seite

Öffnen Sie in der linken Navigation Snippets und klicken Sie dann auf Snippet hinzufügen. Das Erstellungsformular ist identisch mit dem Test-Erstellungsformular, außer dass der Typ auf Snippet voreingestellt ist.

Aus einer bestehenden Aktivität innerhalb eines Tests

Wenn Sie feststellen, dass Sie einen Teil eines bestehenden Tests wiederverwenden möchten, müssen Sie diesen nicht neu schreiben. Fahren Sie im Reiter "Schritte" mit der Maus über die Aktivität, die Sie extrahieren möchten, und klicken Sie auf das Symbol Snippet aus Aktivität erstellen in der Hover-Toolbar der Aktivität.

Dies bewirkt Folgendes:

  • Es öffnet das Snippet-Erstellungsformular, das mit den Schritten der Aktivität (neu nummeriert ab 1) und dem Namen der Aktivität als Snippet-Titel vorausgefüllt ist.
  • Parameterbindungen sowie Schleifen- und Bedingungseinstellungen der ursprünglichen Aktivität werden zusammen mit den Schritten kopiert.
  • Sie überprüfen und speichern das neue Snippet.

Was es nicht tut:

  • Es ersetzt nicht automatisch die ursprüngliche Aktivität im übergeordneten Test durch eine Snippet-Referenz. Die ursprüngliche Aktivität bleibt bestehen, bis Sie sie selbst entfernen und den Snippet-Referenz-Schritt an deren Stelle einfügen.

Betrachten Sie die Aktion als "diese Schritte in ein neues Snippet kopieren" – die Ersetzung im übergeordneten Test ist ein separater, bewusster Schritt.

Aus einer Aufzeichnung

Die Aufzeichnung erzeugt einen regulären Testfall, kein Snippet. Wenn Sie einen Teil eines aufgezeichneten Tests in ein Snippet umwandeln möchten, erstellen Sie zuerst eine Aktivität aus den aufgezeichneten Schritten und verwenden Sie dann Snippet aus Aktivität erstellen.

Von einem externen System

Wenn ein Test aus Jira XRay oder Zephyr Scale importiert wird, wird jeder Call to Test (XRay) oder Test Call (Zephyr)-Schritt in der Quelle zu einem Snippet in msg.ZenTestAI. Der übergeordnete Test erhält an diesen Positionen Snippet-Referenz-Schritte. Siehe Externe Systeme → Snippets und externe Systeme für das vollständige Verhalten, einschließlich Sperrung und Aufhebung der Verknüpfung.

Im Reiter "Schritte"

Ein Snippet-Referenz-Schritt zeigt den Titel des Snippets und ein Symbol, das ihn optisch von regulären Schritten unterscheidet. Sie können die Referenz inline aufklappen, um eine Vorschau der Schritte des Snippets zu erhalten, ohne den Test zu verlassen – dies ist nützlich für Plausibilitätsprüfungen während der Bearbeitung.

Wenn das Snippet von einer Schleife oder einer Bedingung umgeben ist (siehe Schleifen und Bedingungen), zeigen kleine Chips am Snippet-Referenz-Schritt dies an – dieselbe Konvention wie bei Aktivitäten.

Snippets bearbeiten und löschen

Jeder mit Bearbeitungsrechten für den Mandanten kann Snippets erstellen, bearbeiten und löschen. Das Bearbeiten eines Snippets wirkt sich unmittelbar auf jeden Test aus, der es referenziert, sobald diese Tests das nächste Mal ausgeführt werden. Wenn Sie ein Snippet löschen, das noch von einem oder mehreren Tests referenziert wird, wird die Löschung blockiert und die Benutzeroberfläche listet die Tests auf, die noch davon abhängen – Sie müssen diese Tests zuerst aktualisieren (oder löschen).

Was kein Snippet ist – ein kurzer Vergleich

Es ist leicht, Snippets mit anderen Wiederverwendungsmechanismen zu verwechseln. Die kürzeste Zusammenfassung:

MechanismusWas er wiederverwendetWann zu verwenden
Snippet (diese Seite)Eine Abfolge von Schritten mit eigenen Aktivitäten und Parametern.Wiederverwendung ganzer Abläufe wie Login, Suche, Genehmigung, …
MakroEin kleiner berechneter Wert (Datum, Summe, Zufall, …).Ein einzeiliger Ausdruck, der einen Wert zurückgibt, keine Abfolge von UI-Aktionen.
Skript-FunktionEin JavaScript-Hook (vor/nach dem Test oder als Schritt).Eigene Logik, die nicht in natürlichsprachliche Schritte passt.

Wenn Sie feststellen, dass Sie immer wieder dieselben paar Schritte in viele Tests kopieren, ist das fast immer ein Zeichen dafür, dass Sie ein Snippet benötigen.