Beispiele zum Einschränken und Bearbeiten von Listen
Um Modulattribute in einer unsortierten Liste zu steuern, verwenden Sie die Aktionen Verify und Constraint. Alternativ können Sie auch einen Index, eine Notation oder Ergebniszählung auf dem XTestschritt festlegen.
Sie können mit den folgenden Typen unsortierter Listen arbeiten:
-
Flache Listen: einfache Listen mit einer hierarchischen Ebene von Listenelementen.
-
Verschachtelte Listen: Listen mit Unterlisten und anderen hierarchischen Ebenen von Listenelementen
Dieses Kapitel enthält Beispiele zum Einschränken und Bearbeiten verschiedener Arten von Listen.
Beispiel 1: explizite Einschränkung verwenden
Das folgende Beispiel zeigt, wie ein Listenelement mithilfe der Aktion Constraint identifiziert wird. Sie werden andere Listenelemente mithilfe der AktionVerify überprüfen.
Das Ziel ist es, einen bestimmten Kaffee aus einer Liste mehrerer Kaffees zu identifizieren. In diesem Fall möchten Sie das Listenelement mit der Id 2 identifizieren. Außerdem möchten Sie den Namen und die Beschreibung des Kaffees überprüfen.
Liste im Reiter Technical View des Moduls
Um Aktionen für Ihre Modulattribute festzulegen, wählen Sie den Testfall aus.
Identifizieren Sie Ihren Listeneintrag im Reiter Details eindeutig durch seine Id: Setzen Sie die Aktion Constraint für das Modulattribut Id mit dem Wert 1.
Um die Werte der Listeneinträge zu überprüfen, verwenden Sie die Aktion Verify für die Modulattribute Name und Description.
Aktion Constraint im Reiter Details des Testfalles festlegen
Wenn Sie Ihren Testfall ausführen, sucht das System nach dem Kaffee mit der Id 1.
Sobald das System den Kaffee gefunden hat, überprüft es, ob sein Name und der Wert seiner Description Bicerin lauten.
Einschränkungen mit Indexnotation kombinieren
Sie können die Aktion Constraint mit der Indexnotation kombinieren, um die Listenverarbeitung flexibler zu gestalten. Auf diese Weise können Sie Ihre Suche eingrenzen und dann eine bestimmte Position innerhalb der gefilterten Ergebnisse angeben.
Dies ist hilfreich, wenn mehrere Listeneinträge Ihren Suchkriterien entsprechen und Sie anhand der Position ein bestimmtes Vorkommen überprüfen möchten.
Um Einschränkungen mit einem Index zu kombinieren, führen Sie diese Schritte aus:
-
Legen Sie für den Testschritt, nach dem Sie filtern möchten, die Aktion Constraint fest.
-
Legen Sie im übergeordneten Testschritt im Feld Value den Index im Format Index == <Zahl> fest.
-
Legen Sie andere Testschritte auf die Aktion Verify fest, um die Werte zu validieren.
In diesem Beispiel enthält eine Liste mehrere Cafés mit demselben Wert unter City. Sie möchten das zweite Café in Wien überprüfen.
Der Ansatz kombiniert:
-
Aktion Constraint auf City mit dem Wert Vienna, um die Liste zu filtern
-
Index == 2 auf dem übergeordneten Testschrittwert, um das zweite Vorkommen auszuwählen
-
Aktion Verify auf andere Attribute, um die erwarteten Werte zu validieren
Dadurch filtert Tosca zunächst alle Cafés in Wien und wählt anschließend das zweite Ergebnis zur Überprüfung aus.
Aktion Constraint für City im Reiter Details des Testfalls festlegen
Beispiel 2: automatische Einschränkung verwenden
Wenn Sie keine expliziten Einschränkungen auf bestimmte Listenelemente festlegen, durchsucht die API Engine die Liste in der ersten Hierarchieebene von oben nach unten.
Wenn Ihre Liste mehr als eine Ebene hat, können Sie Ihre Suchanfrage auf die anderen Ebenen der Elementhierarchie erweitern.
Das folgende Beispiel zeigt, wie Sie die Suche auf andere Ebenen der Elementhierarchie erweitern können.
Das Ziel ist es, eine bestimmte Reihenfolge in einer unsortierten Liste mit mehreren Ordnern zu identifizieren. In diesem Fall möchten Sie eine bestimmte Bestellung anhand ihrer OrderId überprüfen, aber mehrere Ordner in Ihrer Liste haben die selbe OrderId.
Liste im Reiter Technical View des Moduls
Wenn Sie versuchen, Ihre Bestellung durch einfaches Verwenden der Aktion Verify auf dem Modulattribut OrderId zu identifizieren, erhalten Sie eine Fehlermeldung.
Aktion Verify auf OrderId im Reiter Details Ihres Testfalles festlegen
Die Fehlermeldung zeigt an, dass es mehr als eine Bestellung mit der OrderId1 gibt.
Suchergebnis in ScratchBook
Um Ihre Suche einzugrenzen, müssen Sie ein Listenelement in der zweiten hierarchischen Ebene inkludieren, beispielsweise FuelType.
Stellen Sie sicher, dass Sie das Listenelement in der Ebene über dem Listenelement FuelType in Ihrer Suche inkludieren. Andernfalls sucht das System weiterhin nur auf der ersten Ebene der Liste.
Ändern Sie dazu die Aktion auf dem Listenelement Vehicle von Select auf Verify.
Aktion Verify auf Vehicle und FuelType festlegen
Dies ändert die Art, wie Sie die Liste abfragen. Das System durchsucht nun die erste und die zweite Ebene Ihrer Listenelemente.
Sie können eine eindeutige Bestellung, die OrderId 1 und ein Vehicle mit dem FuelTypeDiesel beinhält, indentifizieren.
Suchergebnis in ScratchBook