Ausdruck
Ausdrücke können an verschiedenen Stellen eines Testskripts eingegeben werden und werden während des Testlaufs ausgewertet.
Einstellungen, die einen Ausdruck erfordern
Element Aktion in der Registerkarte Erweiterte Einstellung in Eingabefeld Bedingung
Element
(unterhalb eines Elements Auswahl) in der Registerkarte Wenn in Eingabefeld Bedingung
Element Zuweisung in der Registerkarte Zuweisung in Eingabefeld Wert
Geben Sie einen Ausdruck nach der unten angegebenen Syntax an. Der Ausdruck, der einen booleschen Wert zurückliefert, wird zur Laufzeit ausgewertet. Wenn Sie im Ausdruck eine Testskriptvariable verwenden, müssen Sie die Variable mit Platzhalteroperator angeben.
TempPath = 'D:\Temp'
Syntax
Die folgende Syntax ist in der Backus-Naur-Form definiert.
or-expr ::= and-expr { bool-or and-expr} and-expr ::= expr { bool-and expr } expr ::= simple-expr { relation-op simple-expr } simple-expr ::= [ sign ] term { addition-op term } relation-op ::= "=" | "<>" | "<" | "<=" | ">" | ">=" sign ::= "+" | "-" term ::= factor { multiplication-op factor } addition-op ::= "+" | "-" factor ::= IDENT {call-spec}| number | STRING | "(" or-expr ")" | "NOT" factor | SCOPEACCESS | "TRUE" | "FALSE" call-spec ::= "(" {argument-list} ")" argument-list ::= or-expr {"," or-expr} multiplication-op ::= "*" | "/" | "DIV" | "MOD" number ::= INTEGER | REAL bool-and ::= "AND" bool-or ::= "OR" IDENT ::= Letter { Letter | Digit } SCOPEACCESS ::= "$" IDENT { "." IDENT } STRING ::= """ { String-Char } """ INTEGER ::= Digit-Seq REAL ::= REAL ::= Digit-Seq "." [ Digit-Seq ] [ Scale-Factor ] | Digit-Seq Scale-Factor Letter ::= "A".."Z" | "a".."z" | "_" Digit ::= "0".."9" String-Char ::= (any char except """) | """" Digit-Seq ::= Digit { Digit } Scale-Factor ::= ("E" | "e") [ "+" | "-" ] Digit-Seq
Konstanten
TRUE
::= 1FALSE
::= 0
Beispiel
In folgendem Beispiel wird ein Testskript erstellt, das die häufigsten Verwendungen von Test Manager Ausdrücken vorstellt. Das Testskript kann zu jedem Zeitpunkt ausgeführt werden. Durch Klicken auf die Schaltfläche Parameter anzeigen im resultierenden Testreport kann inspiziert werden, wie sich die Werte der Variablen im Laufe des Testskripts verändern. Für eine bessere Verständlichkeit ist das Beispiel in Unterkapitel aufgeteilt. Diese bauen aufeinander auf.
Grundlegende Arithmetik
Zuweisungen von Literalen
Ausdrücke können gemeinsam mit Auswahl-Elementen verwendet werden, um Kontrollflüsse umzusetzen:
Erstellen Sie ein neues Testskript
Fügen Sie ein Element Zuweisung mit folgendem Inhalt hinzu:
four := 4
Erklärung:
Dieser Ausdruck weist der Variablen
four
den Wert 4 zuVariablen dürfen sich nicht innerhalb von geschweiften Klammern befinden
Der Wert 4 ist ein numerisches Literal. Er darf nicht innerhalb von geschweiften Klammern stehen
Zuweisungen von Ausdrücken
Neben konstanten Werten können auch die Ergebnisse von Ausdrücken zugewiesen werden.
Fügen Sie dem Testskript eine weiteres Element Zuweisung mit folgendem Inhalt hinzu:
thirtySix := (4 + 5) * four
Erklärung:
Der Variablen
thirtySix
wird das Ergebnis des Ausdrucks (36) zugewiesenKeine der beiden Variablen darf sich innerhalb von geschweiften Klammern befinden
Da die Variablen numerische Werte beinhalten, können sie mit arithmetischen Operationen (+, -, *, /) verwendet werden
Die Reihenfolge von arithmetischen Operationen entspricht der gängigen mathematischen Ordnung (Multiplikation vor Addition)
Arithmetische Operatoren
Neben den Operatoren + und * gibt es noch weitere Operatoren.
Liste aller Operatoren:
+
-
/
MOD
DIV
Fügen Sie dem Testskript zwei weitere Elemente Zuweisung mit folgendem Inhalt hinzu:
real := thirtySix MOD 11 DIV 2 / 4.0 integer := thirtySix MOD 11 DIV 2 / four
Erklärung:
Der Operator
MOD
steht für Modulo-Operation und gibt immer einen Integer-Wert zurück. Der AusdruckthirtySix MOD 11
ergibt folglich den Wert 3Der Operator
DIV
steht für eine Integerdivision und gibt immer einen Integer-Wert zurück. Der Ausdruck"3 DIV 2"
resultiert folglich in dem Wert 1Der Operator
/
steht für eine Floating-Point-Division und gibt einen Real-Wert zurück, wenn der Divisor ein Real-Wert ist. Wenn der Divisor ein Integer-Wert ist, gibt er einen Integer-Wert zurück. Der Ausdruck1 / 4.0
gibt also 0.25 zurück, während der Ausdurck1 / 4
den Wert 0 zurückgeben würdeDie Operatoren
MOD
,DIV
und/
haben dieselbe mathematisch Ordnung wie die Multiplikation. Die Evaluation der Ausdrücke erfolgt von links nach rechts. Folglich liefert der AusdruckthirtySix MOD 11 DIV 2 / 4.0
den Wert 0.25 und der AusdruckthirtySix MOD 11 DIV 2 / four
den Wert 0Arithmetische Operatoren mit einem Real-Wert liefern immer einen Real-Wert als Resultat
MOD
undDIV
können nur mit Integer-Werten verwendet werden
Logische Operationen
Neben Arithmetik werden ist es auch möglich logische Operationen auszuführen. Hierbei gibt es vergleichende Operatoren und Verknüpfungen. Logische Operationen liefern als Rückgabewerte die booleschen Werte TRUE
und FALSE
.
Vergleichende Operatoren
Mit den vergleichenden Opertoren können zwei Werte miteinander verglichen werden.
Liste aller Operatoren:
=
(gleich)<>
(ungleich)<
(kleiner)>
(größer)>=
(größer gleich)
In Vergleichen können sowohl Variablen als auch Konstanten verwendet werden. Das Ergebnis eines Vergleichsoperators ist immer ein boolescher Wert.
Fügen Sie dem Testskript sechs weitere Elemente Zuweisung mit folgendem Inhalt hinzu:
equal := 4 = 4 notEqual := 4 <> 3 lessThan := 2 < 4 lessEqual := 4 <= 4 greaterThan := 4 > 2 greaterEqual := 4 >= 4
Diese Zuweisungen sind so gewählt, dass sie alle den Wert TRUE
zurückgeben.
Verknüpfungen
Der Test Manager unterstützt folgende Verknüpfungsoperatoren:
AND
OR
Fügen Sie dem Testskript zwei weitere Elemente Zuweisung mit folgendem Inhalt hinzu:
and := true AND false and := true AND true
Erklärung
Als gültige logische Werte gelten
true
undfalse
. Die Werte werden nicht in Anführungszeichen geschriebenAND
resultiert intrue
, wenn beide Seiten des Operatorstrue
sind. In allen anderen Fällen resultiertAND
infalse
Fügen Sie dem Testskript drei weitere Elemente Zuweisung mit folgendem Inhalt hinzu:
boolValue := true or := boolValue OR false or := false OR false
Erklärung:
Boolesche Werte können auch Variablen zugewiesen werden
Variablen können auch in logischen Ausdrücken verwendet werden. Sie dürfen sich dabei in keinen geschweiften Klammern befinden
OR
resultiert intrue
, wenn mindestens eine Seite des Operatorstrue
ist. Wenn beide Seitenfalse
sind, resultiertOR
ebenfalls infalse
Kontrollfluss
Auswahl
Auswahl-Elemente ermöglichen es, unterschiedliche Ausdrücke basierend auf einer Bedingung auszuführen.
Fügen Sie dem Testskript ein neues Element Auswahl hinzu.
Tragen Sie als Bedingung folgenden Ausdruck ein:
thirtySix = 36
Fügen Sie unter der Bedingung folgende Zuweisung hinzu:
fruit := "apple"
Fügen Sie unter Andernfalls folgende Zuweisung hinzu:
fruit := "banana"
Erklärung:
Beim Erreichen der Auswahl wird zunächst die Bedingung evaluiert
Um den Wert einer Variablen in einer Bedingung zu vergleichen, darf sie nicht in geschweiften Klammern stehen
Da in diesem Fall der Wert von
thirtySix
dem Wert 36 entspricht, gibt die Bedingungtrue
zurückFolglich werden die Kinder der Bedingung ausgeführt
Hierdurch wird der Variablen
fruit
der Wert"apple"
zugewiesen
Makros
Um Variablen in Makros zu verwenden, dürfen diese wie bei der normalen Verwendung von Variablen nicht in geschweiften Klammern stehen. Diese Regel gilt für alle Makros.
Fügen Sie dem Testskript ein Element Zuweisung mit folgenden Inhalt hinzu:
concated := CONCAT("delicious ", fruit)
Erklärung:
Der String
"delicious "
und der Wert der Variablenfruit
werden zusammengefügt und ergeben den neuen Wert“delicious apple”
Parameter
Test Manager-Ausdrücke können außerdem in den Parametern von Testaktionen verwendet werden. Sie folgen hierbei denselben Regeln wie in allen anderen Anwendungsfällen.
Fügen Sie einen neuen Testfall hinzu.
Fügen Sie dem Testfall eine neue Testaktion hinzu.
Wählen Sie als Aktion in der Testaktion
ExecuteScript
aus und öffnen Sie die Registerkarte Parameter.Fügen Sie eine Variable mit dem Namen
forty
als Eingangsparameter hinzu.Fügen Sie in der Spalte Variable von
forty
folgende Anweisung hinzu:thirtySix + 4
Erklärung:
Der Ausdruck wird ausgewertet, bevor er als die Variable
forty
in der Testaktion zur Verfügung stehtDie Variable
forty
hat folglich in der Testaktion den Wert 40Neben Test Manager Ausdrücken ist es auch möglich, Skripting-Objekte über die Parameter in andere Testaktionen weiterzureichen. Beispielsweise kann in einem Skript ein Projekt geöffnet werden, das dann in anderen Testaktionen weiterverwendet werden kann.