Skip to main content

Ausdruck

Ausdrücke können an verschiedenen Stellen eines Testskripts eingegeben werden und werden während des Testlaufs ausgewertet.

Einstellungen, die einen Ausdruck erfordern

. Sie können in folgenden Eingabefeldern einen Ausdruck eingeben:
  • Element Aktion in der Registerkarte Erweiterte Einstellung in Eingabefeld Bedingung

  • Element tm_iconselectcondition.png (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.

. Beispiel:
  • 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 ::= 1

  • FALSE ::= 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:

  1. Erstellen Sie ein neues Testskript

  2. Fügen Sie ein Element Zuweisung mit folgendem Inhalt hinzu:

    four := 4

Erklärung:

  • Dieser Ausdruck weist der Variablen four den Wert 4 zu

  • Variablen 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) zugewiesen

  • Keine 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 Ausdruck thirtySix MOD 11 ergibt folglich den Wert 3

  • Der 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 1

  • Der 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 Ausdruck 1 / 4.0 gibt also 0.25 zurück, während der Ausdurck 1 / 4 den Wert 0 zurückgeben würde

  • Die Operatoren MOD, DIV und / haben dieselbe mathematisch Ordnung wie die Multiplikation. Die Evaluation der Ausdrücke erfolgt von links nach rechts. Folglich liefert der Ausdruck thirtySix MOD 11 DIV 2 / 4.0 den Wert 0.25 und der Ausdruck thirtySix MOD 11 DIV 2 / four den Wert 0

  • Arithmetische Operatoren mit einem Real-Wert liefern immer einen Real-Wert als Resultat

  • MOD und DIV 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 und false. Die Werte werden nicht in Anführungszeichen geschrieben

  • AND resultiert in true, wenn beide Seiten des Operators true sind. In allen anderen Fällen resultiert AND in false

  • 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 in true, wenn mindestens eine Seite des Operators true ist. Wenn beide Seiten false sind, resultiert OR ebenfalls in false

Kontrollfluss

Auswahl 

Auswahl-Elemente ermöglichen es, unterschiedliche Ausdrücke basierend auf einer Bedingung auszuführen.

  1. Fügen Sie dem Testskript ein neues Element Auswahl hinzu.

  2. Tragen Sie als Bedingung folgenden Ausdruck ein:

    thirtySix = 36
  3. Fügen Sie unter der Bedingung folgende Zuweisung hinzu:

    fruit := "apple"
  4. 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 Bedingung true zurück

  • Folglich 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 Variablen fruit 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.

  1. Fügen Sie einen neuen Testfall hinzu.

  2. Fügen Sie dem Testfall eine neue Testaktion hinzu.

  3. Wählen Sie als Aktion in der Testaktion ExecuteScript aus und öffnen Sie die Registerkarte Parameter.

  4. Fügen Sie eine Variable mit dem Namen forty als Eingangsparameter hinzu.

  5. 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 steht

  • Die Variable forty hat folglich in der Testaktion den Wert 40

  • Neben 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.