17.1
If - else

If Knoten kennen Sie bereits aus der Vorbereitung Sequenz im Kapitel Starten des Browsers. Sehen wir uns diesen nun etwas genauer an.

Abbildung 17.1:  Setup Sequenz mit If/Elseif Knoten

Über einen If Knoten können Sie steuern, ob bestimmte Knoten ausgeführt werden oder nicht. In unserem Fall geht es um den Start des SUT. Zunächst müssen wir herausfinden, ob die Applikation bereits läuft. Dies geschieht über den Warten auf Client Knoten, der als Ergebnis entweder true (wahr) oder false (falsch) in die Variable isSUTRunning schreibt.

Abbildung 17.2:  Warten auf Client setzt die Variable "isSUTRunning" mit dem Ergebnis

Der If Knoten wertet die Ergebnisvariable isSUTRunning im 'Bedingung' Attribut aus. Da auf den Wert der Variablen zugegriffen werden soll, wird die Syntax $() verwendet (vgl. Hinweis zu Variablensyntax in Kapitel Abschnitt 15.1).

Abbildung 17.3:  Der If Knoten wertet die Variable aus

Je nachdem, ob die Applikation bereits läuft, führt QF-Test die im If Knoten enthaltenen Knoten aus oder nicht.

In der Variablendefinition-Tabelle können Sie den Wert der Variablen isSUTRunning prüfen. Beim ersten Mal ist der Wert false und damit die Bedingung not $(isSUTRunning) wahr, d.h. die Knoten für den SUT-Start werden ausgeführt. Beim zweiten Mal ist der Wert true und damit die Bedingung false. Die Knoten im If Knoten werden übersprungen.

Hinweis Im ersten Knoten der Vorbereitung werden If Knoten verwendet, um abhängig vom Betriebssystem den zu verwendenden Web-Browser in einer globalen Variable zu hinterlegen. Der besseren Lesbarkeit halber werden hier nur If Knoten verwendet. Es wäre ebenso möglich mit Elseif und Else Knoten zu arbeiten. In einem Elseif Knoten wird eine weitere Bedingung formuliert, die dann geprüft wird, wenn die Bedingung im If Knoten nicht zutrifft. Die Kindknoten des Else Knoten werden nur dann ausgeführt, wenn weder die Bedingung des If noch die der Elseif Knoten zutreffen.

Bei der Prüfung des Betriebssystems wird direkt auf eine QF-Test Variable zugegriffen. QF-Test speichert die Betriebssysteminformation in einer Gruppenvariable ab, wobei die Gruppe qftest und die Variablen linux, macos oder windows heißen. Die Syntax für den Zugriff auf Gruppenvariablen ist ${group:varname}, z.B. ${qftest:windows}.