30.6
Ablaufsteuerung

Neben den normalen Sequenzen verfügt QF-Test über eine Reihe von speziellen Kontrollstrukturen, die der Steuerung des Ablaufs eines Tests dienen. Diese orientieren sich an den gängigen Kontrollstrukturen, wie sie auch in Java vorhanden sind.

Ausser Schleifen und bedingter Ausführung erbt QF-Test von Java auch die Art der Fehlerbehandlung mittels Exceptions, die im Fehlerfall bei der Ausführung eines Knotens "geworfen" werden. Eine Exception bricht die Ausführung eines Testlaufs schrittweise von unten nach oben ab, so lange bis sie durch ein 'Catch' abgefangen wird, oder bis der gesamte Test beendet ist.

Für Java Entwickler ist dieses Konzept Teil der täglichen Arbeit. Wenn es Ihnen als Tester verwirrend erscheint, werden Ihre Entwickler es Ihnen sicher gerne erläutern.

Die Klassenhierarchie der Exceptions mit denen QF-Test arbeitet, hat ihre Wurzel in der Klasse TestException. Andere Exceptions wie ComponentNotFoundException sind Spezialisierungen davon. In Kapitel 31 erfahren Sie mehr zu diesem Thema.

Neben den hier beschriebenen Methoden zur Ausnahmebehandlung können Exceptions automatisch durch 'Tests' über das Attribut 'Implizit Exceptions fangen' abgefangen werden.

Außerdem wird Skripting in Form von Jython (früher JPython) und Groovy unterstützt. Mehr dazu in Kapitel 13.

30.6.1
'Schleife'

Hierbei handelt es sich um eine Sequenz die mehrfach ausgeführt werden kann. Neben der Anzahl der Wiederholungen kann auch der Name einer Variable angegeben werden, die die Nummer des jeweiligen Durchgangs zugewiesen bekommt.

Dieser Knoten dient vor allem dazu, die Aussage eines Tests über die Zuverlässigkeit des SUT und der Testvorschriften zu verbessern. Ein Test der 100 mal funktioniert sagt mehr aus, als ein Test der einmal funktioniert.

Das Verhalten von 'Schleifen' kann durch Zuweisen eines Werts an die 'Zählervariable' innerhalb der 'Schleife' beeinflusst werden.

Die Ausführung der 'Schleife' kann mittels eines 'Break' Knotens vorzeitig abgebrochen werden. Ein optionaler 'Else' Knoten am Ende der 'Schleife' wird ausgeführt, falls alle Iterationen der 'Schleife' komplett durchlaufen wurden, ohne auf ein 'Break' zu treffen.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden. Die Laufvariable erhält den Wert 0 und die Childknoten werden einer nach dem anderen ausgeführt. Für jede Wiederholung wird der Wert der Laufvariable um 1 erhöht und die Children erneut ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

Schleife Attribute
Abbildung 30.26:  'Schleife' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Anzahl Wiederholungen'

Dieser Wert legt die Anzahl der Durchgänge für die Ausführung fest.

Dieses Attribut ist prädestiniert für den Einsatz von Variablen. Wenn Sie die Anzahl Wiederholungen z.B. auf $(count) setzen, können Sie den Wert für die Variable count in den Variablen der Suite (vgl. Kapitel 8) auf 1 oder 2 setzen. Das vereinfacht das Erstellen und Ausprobieren der Testsuite.

Wenn Sie den Test dann ernsthaft ausführen, z.B. automatisch mittels qftest -batch, können Sie durch Angabe von -variable count=100 auf der Kommandozeile den Wert für count nach Belieben variieren.

Variabel: Ja

Einschränkungen: >0

'Zählervariable'

Hier geben Sie den Namen einer Variablen an, die während der Ausführung die Nummer des aktuellen Durchgangs enthält, beginnend bei 0. Bei verschachtelten Schleifen sollten Sie unterschiedliche Namen für die 'Zählervariable' verwenden.

Variabel: Ja

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die 'Id' der 'Schleife' kann in einem 'Break' Knoten angegeben werden, um bei verschachtelten Schleifen gezielt die Schleife mit dieser Id abzubrechen.

Variabel: Nein

Einschränkungen: Darf nicht leer sein, keines der Zeichen '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.2
'While'

Hierbei handelt es sich um eine Sequenz die immer wieder ausgeführt wird, so lange eine Bedingung erfüllt ist.

Die Ausführung des 'While' Knotens kann mittels eines 'Break' Knotens vorzeitig abgebrochen werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden. Die Bedingung wird überprüft und wenn sie erfüllt ist, werden die Childknoten einer nach dem anderen ausgeführt. Dies wiederholt sich so lange, bis die Bedingung nicht mehr erfüllt ist oder der Vorgang durch eine Exception oder einen 'Break' Knoten abgebrochen wird. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

While Attribute
Abbildung 30.27:  'While' Attribute
'Bedingung'

Eine Bedingung ist ein Ausdruck, dessen Wert entweder wahr oder falsch ist. QF-Test unterscheidet hierbei zwischen einfachen Ausdrücken, die es selbst auswertet und komplexen Ausdrücken, die es an die Skriptsprache Jython weiterreicht.

Leeren Text, sowie den Text false (unabhängig von Groß- oder Kleinschreibung) interpretiert QF-Test als falsch, den Text true als wahr. Ganze Zahlen sind genau dann wahr, wenn sie nicht 0 sind.

Durch die Auswertung komplexer Ausdrücke mittels Jython stehen hier sehr weitreichende Möglichkeiten zur Verfügung, die noch größer werden, wenn Skripting vollständig integriert ist. Für den Moment muss die folgende Kurzzusammenfassung genügen: Jython unterstützt die üblichen Operatoren ==, !=, >, >=, < und <=. Sie können Ausdrücke mit and und or verknüpfen und die Priorität durch Klammerung festlegen.

Hinweis Der Zugriff auf QF-Test Variablen in Bedingungen folgt den selben Regeln wie in Jython Skripten (vgl. Abschnitt 13.3.3). Die standard QF-Test Syntax $(...) und ${...:...} kann für numerische und boolesche Werte verwendet werden. Auf Zeichenketten sollte mittels rc.lookup(...) zugegriffen werden.

Wichtig: Wenn Sie Zeichenketten (im Gegensatz zu Zahlen) vergleichen wollen, müssen Sie diese für Jython mit einem einfachen oder doppelten Anführungszeichen schützen. Andernfalls interpretiert Jython diese als Jython-Variablen, die natürlich nicht definiert sind und damit zu einem Syntaxfehler führen.

Einige Beispiele zum besseren Verständnis:

Ausdruck Wert
Leerer Text Falsch
0 Falsch
21 Wahr
fAlse Falsch
True Wahr
bla bla Syntax Fehler
25 > 0 Wahr
"${system:java.version}" == "1.3.1" Wahr falls JDK Version 1.3.1 ist
"${system:java.version}"[0] == "1" Wahr falls JDK Version mit 1 beginnt
(1 > 0 and 0 == 0) or 2 < 1 Wahr
Tabelle 30.13:  Beispiele für Bedingungen

Variabel: Ja

Einschränkungen: Gültige Syntax

'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die 'Id' des 'While' Knotens kann in einem 'Break' Knoten angegeben werden, um bei verschachtelten Schleifen gezielt die Schleife mit dieser Id abzubrechen.

Variabel: Nein

Einschränkungen: Darf nicht leer sein, keines der Zeichen '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.3
'Break'

Dieser Knoten dient dazu, 'Schleifen' und 'While' Knoten vorzeitig zu beenden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Es wird eine BreakException geworfen. Wird diese von einer passenden Schleife gefangen, so wird die Schleife beendet. Andernfalls führt sie zu einem Fehler.

Attribute:

Break Attribute
Abbildung 30.28:  'Break' Attribute
'Id der Schleife'

Hiermit können Sie bei verschachtelten Schleifen gezielt die Schleife auswählen, die abgebrochen werden soll, indem Sie im 'Schleife' Knoten das 'Id' setzen und hier referenzieren. Das gleiche gilt für 'While' Knoten mit dem 'Id' Attribut. Ist dieses Feld leer, wird die innerste Schleife abgebrochen.

Variabel: Ja

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.4
'If'

Analog zu Java werden die Childknoten dieser Sequenz nur dann ausgeführt, wenn eine Bedingung erfüllt ist. Allerdings unterscheidet sich QF-Test von gängigen Programmiersprachen in der Art in der die Alternativzweige angeordnet sind.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebige Knoten, gefolgt von beliebig vielen 'Elseif' Knoten mit einem optionalen 'Else' Knoten am Ende.

Ausführung: Die Variablen der Sequenz werden gebunden. Die Bedingung wird überprüft und wenn sie erfüllt ist, werden die normalen Childknoten einer nach dem anderen ausgeführt. Ist die Bedingung nicht erfüllt, werden die Bedingungen der 'Elseif' Childknoten eine nach der anderen geprüft, bis eine Bedingung erfüllt ist und der entsprechende 'Elseif' Knoten ausgeführt wird. Ist kein 'Elseif' Childknoten vorhanden oder keine der Bedingungen erfüllt, wird der 'Else' Knoten ausgeführt, sofern vorhanden. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

If Attribute
Abbildung 30.29:  'If' Attribute
'Bedingung'

Eine Bedingung ist ein Ausdruck, dessen Wert entweder wahr oder falsch ist. QF-Test unterscheidet hierbei zwischen einfachen Ausdrücken, die es selbst auswertet und komplexen Ausdrücken, die es an die Skriptsprache Jython weiterreicht.

Leeren Text, sowie den Text false (unabhängig von Groß- oder Kleinschreibung) interpretiert QF-Test als falsch, den Text true als wahr. Ganze Zahlen sind genau dann wahr, wenn sie nicht 0 sind.

Durch die Auswertung komplexer Ausdrücke mittels Jython stehen hier sehr weitreichende Möglichkeiten zur Verfügung, die noch größer werden, wenn Skripting vollständig integriert ist. Für den Moment muss die folgende Kurzzusammenfassung genügen: Jython unterstützt die üblichen Operatoren ==, !=, >, >=, < und <=. Sie können Ausdrücke mit and und or verknüpfen und die Priorität durch Klammerung festlegen.

Hinweis Der Zugriff auf QF-Test Variablen in Bedingungen folgt den selben Regeln wie in Jython Skripten (vgl. Abschnitt 13.3.3). Die standard QF-Test Syntax $(...) und ${...:...} kann für numerische und boolesche Werte verwendet werden. Auf Zeichenketten sollte mittels rc.lookup(...) zugegriffen werden.

Wichtig: Wenn Sie Zeichenketten (im Gegensatz zu Zahlen) vergleichen wollen, müssen Sie diese für Jython mit einem einfachen oder doppelten Anführungszeichen schützen. Andernfalls interpretiert Jython diese als Jython-Variablen, die natürlich nicht definiert sind und damit zu einem Syntaxfehler führen.

Einige Beispiele zum besseren Verständnis:

Ausdruck Wert
Leerer Text Falsch
0 Falsch
21 Wahr
fAlse Falsch
True Wahr
bla bla Syntax Fehler
25 > 0 Wahr
"${system:java.version}" == "1.3.1" Wahr falls JDK Version 1.3.1 ist
"${system:java.version}"[0] == "1" Wahr falls JDK Version mit 1 beginnt
(1 > 0 and 0 == 0) or 2 < 1 Wahr
Tabelle 30.14:  Beispiele für Bedingungen

Variabel: Ja

Einschränkungen: Gültige Syntax

'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.5
'Elseif'

Dieser Knoten stellt einen Alternativzweig in einem 'If' Knoten dar. Ist die Bedingung des 'If' Knotens nicht erfüllt, wird der erste 'Elseif' Knoten ausgeführt, dessen Bedingung erfüllt ist.

Enthalten in: 'If'

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

ElseIf Attribute
Abbildung 30.30:  'Elseif' Attribute
'Bedingung'

Eine Bedingung ist ein Ausdruck, dessen Wert entweder wahr oder falsch ist. QF-Test unterscheidet hierbei zwischen einfachen Ausdrücken, die es selbst auswertet und komplexen Ausdrücken, die es an die Skriptsprache Jython weiterreicht.

Leeren Text, sowie den Text false (unabhängig von Groß- oder Kleinschreibung) interpretiert QF-Test als falsch, den Text true als wahr. Ganze Zahlen sind genau dann wahr, wenn sie nicht 0 sind.

Durch die Auswertung komplexer Ausdrücke mittels Jython stehen hier sehr weitreichende Möglichkeiten zur Verfügung, die noch größer werden, wenn Skripting vollständig integriert ist. Für den Moment muss die folgende Kurzzusammenfassung genügen: Jython unterstützt die üblichen Operatoren ==, !=, >, >=, < und <=. Sie können Ausdrücke mit and und or verknüpfen und die Priorität durch Klammerung festlegen.

Hinweis Der Zugriff auf QF-Test Variablen in Bedingungen folgt den selben Regeln wie in Jython Skripten (vgl. Abschnitt 13.3.3). Die standard QF-Test Syntax $(...) und ${...:...} kann für numerische und boolesche Werte verwendet werden. Auf Zeichenketten sollte mittels rc.lookup(...) zugegriffen werden.

Wichtig: Wenn Sie Zeichenketten (im Gegensatz zu Zahlen) vergleichen wollen, müssen Sie diese für Jython mit einem einfachen oder doppelten Anführungszeichen schützen. Andernfalls interpretiert Jython diese als Jython-Variablen, die natürlich nicht definiert sind und damit zu einem Syntaxfehler führen.

Einige Beispiele zum besseren Verständnis:

Ausdruck Wert
Leerer Text Falsch
0 Falsch
21 Wahr
fAlse Falsch
True Wahr
bla bla Syntax Fehler
25 > 0 Wahr
"${system:java.version}" == "1.3.1" Wahr falls JDK Version 1.3.1 ist
"${system:java.version}"[0] == "1" Wahr falls JDK Version mit 1 beginnt
(1 > 0 and 0 == 0) or 2 < 1 Wahr
Tabelle 30.15:  Beispiele für Bedingungen

Variabel: Ja

Einschränkungen: Gültige Syntax

'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.6
'Else'

Ein 'Else' Knoten wird ausgeführt, wenn weder die Bedingung seines 'If' Parents, noch die Bedingungen der 'Elseif' Knoten erfüllt sind.

Enthalten in: 'If'

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

Else Attribute
Abbildung 30.31:  'Else' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.7
'Try'

Ein Try ist eine besondere Sequenz, deren Semantik dem Java Konstrukt try-catch-finally entspricht. Sie verhält sich wie eine normale 'Sequenz', die zusätzlich über die Möglichkeit verfügt, Fehler zu erkennen und abzufangen. Dies kann z.B. verhindern, dass der Ablauf einer ganzen Testsuite nur wegen einem relativ unbedeutenden Fehler abgebrochen wird. Außerdem kann es wichtig sein, einzelne Aufräumarbeiten auch im Fehlerfall durchzuführen.

Um einen Fehler, d.h. eine Exception, abzufangen, können nach den normalen Children des Try ein oder mehrere 'Catch' Knoten eingefügt werden. Diese speziellen Sequenzen werden nur ausgeführt, wenn die Exception zu ihrem 'Exception Klasse' Attribut passt. Es wird immer höchstens ein Catch ausgeführt, und zwar der erste, der auf die Exception passt.

Ganz am Ende des Try darf außerdem ein 'Finally' Knoten stehen. Dabei handelt es sich um eine Sequenz, die in jedem Fall abgearbeitet wird, unabhängig davon, ob eine Exception auftritt und unabhängig davon, ob Sie von einem Catch behandelt wird.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebige Knoten, gefolgt von beliebig vielen 'Catch' Knoten mit einem optionalen 'Finally' Knoten am Ende.

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Wird dabei eine Exception ausgelöst, wird deren Ausführung beendet und unter den Catch Knoten der Sequenz die erste ermittelt, die diese Exception abfängt. Ist ein solcher Catch Knoten vorhanden, wird er ausgeführt. Die Exception ist damit "entschärft", der Test wird nach dem Try normal fortgesetzt. Ist kein passender Catch vorhanden, wird die Exception nach oben weitergereicht. Ist ein Finally Knoten vorhanden, wird er in jedem Fall als letztes ausgeführt, auch wenn keine Exception auftritt oder eine Exception nicht behandelt wurde. Zuletzt werden die Variablen der Sequenz wieder gelöscht. Tritt eine Exception während der Ausführung eines Catch auf, so wird der Try - nach Ausführung des Finally - mit dieser neuen Exception beendet. Eine Exception innerhalb des Finally Knotens beendet diesen und den Try sofort.

Attribute:

Try Attribute
Abbildung 30.32:  'Try' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Bei einem 'Try' Knoten wird der Status des Protokolls zusätzlich durch den 'Maximalen Fehler' des 'Catch' Knotens beschränkt, der eine Exception abfängt.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.8
'Catch'

Ein 'Catch' Knoten ist eine spezielle 'Sequenz' und kann nur innerhalb eines 'Try' oder eines 'Abhängigkeit' Knotens stehen. Er dient dazu, Exceptions abzufangen, die während der Ausführung eines 'Try' Knotens oder eines 'Testfall' Knotens mit einer 'Abhängigkeit' auftreten können.

Ein 'Catch' Knoten kann eine Exception fangen, wenn die Klasse der auftretenden Exception entweder die im 'Exception Klasse' Attribut des 'Catch' definierten Klasse, oder eine ihrer Basisklassen ist. Das entspricht dem Verhalten in Java.

Enthalten in: 'Try', 'Abhängigkeit'

Kinder: Beliebig

Ausführung: Die 'Variablen Definitionen' der 'Catch' Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

Catch Attribute
Abbildung 30.33:  'Catch' Attribute
'Exception Klasse'

In dieser ComboBox wählen Sie die Klasse der Exception aus, die von diesem Knoten abgefangen werden soll. Alle Exceptions in QF-Test sind von der Klasse TestException abgeleitet. Eine Aufstellung aller möglichen Exceptions finden Sie in Kapitel 31.

Variabel: Nein

Einschränkungen: Keine

'Erwartete Meldung'

Sie können die zu fangende Exception genauer eingrenzen, indem Sie hier die zu erwartende Meldung festlegen. Ist dieses Attribut leer, werden alle Exceptions der angegebenen Klasse gefangen. Andernfalls wird es mit dem Rückgabewert von exception.getMessage() verglichen und die Exception nur bei Übereinstimmung gefangen.

Variabel: Ja

Einschränkungen: Gültige Regexp, falls 'Als Regexp' gesetzt ist.

'Als Regexp'

Ist dieses Attribut gesetzt, findet der Vergleich mit der Meldung der Exception mittels eines regulären Ausdrucks statt (vgl. Abschnitt 36.4), andernfalls als 1:1 Textvergleich.

Variabel: Ja

Einschränkungen: Keine

'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Im Gegensatz zu dem 'Maximalen Fehler' der anderen Sequenzen, bestimmt dieses Attribut nicht, welchen Fehlerstatus das Protokoll für den 'Catch' Knoten selbst weitergibt, sondern legt den maximalen Fehler für seinen 'Try' Parentknoten fest, sofern dieser 'Catch' Knoten zur Behandlung einer Exception ausgeführt wird.

Fehler die innerhalb dieses 'Catch' Knotens auftreten, werden mit unverändertem Status weitergegeben, damit Probleme, die während der Behandlung einer Exception auftreten, nicht übersehen werden.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.9
'Finally'

Ein besondere Bedeutung kommt dem Finally am Ende eines 'Try' Knotens zu, da es in jedem Fall ausgeführt wird. Damit kann sichergestellt werden, dass Aufräumarbeiten, wie z.B. das Löschen einer temporären Datei oder das Schließen eines Fensters, tatsächlich durchgeführt werden.

Enthalten in: 'Try'

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

Finally Attribute
Abbildung 30.34:  'Finally' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablen Definitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 8.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Achtung: Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.5). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.10
'Throw'

Dieser Knoten dient dazu, explizit eine Exception zu werfen, um auf eine besondere Ausnahmesituation zu reagieren.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Eine UserException mit der Fehlermeldung aus dem Attribut 'Meldung für die Exception' wird ausgelöst.

Attribute:

Throw Attribute
Abbildung 30.35:  'Throw' Attribute
'Meldung für die Exception'

Hier können Sie eine beliebige Fehlermeldung für die zu werfende UserException angeben.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.11
'Rethrow'

Eine Exception, die von einem 'Catch' Knoten abgefangen wurde, kann mit Hilfe dieses Knotens erneut geworfen werden. Dies ist besonders in Situationen nützlich, wo alle Exceptions ausser einer bestimmten abgefangen werden sollen. Dies erreichen Sie, indem Sie unterhalb eines 'Try' Knotens zunächst einen 'Catch' für die spezielle Exception anlegen, gefolgt von einem 'Catch' für eine TestException. In den ersten 'Catch' fügen Sie dann einen 'Rethrow' Knoten ein.

Enthalten in: Alle Arten von Sequenzen. Der 'Rethrow' Knoten muss sich nicht direkt unterhalb des entsprechenden 'Catch' Knotens befinden. Er kann z.B. auch in einer 'Prozedur' untergebracht werden, die zur Behandlung der Exception aufgerufen wird.

Kinder: Keine

Ausführung: Die letzte Exception, die von einem 'Catch' Knoten abgefangen wurde, wird erneut geworfen. Gibt es keine solche Exception, wirde eine CannotRethrowException ausgelöst.

Attribute:

Rethrow Attribute
Abbildung 30.36:  'Rethrow' Attribute
'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.12
'Server Skript'

Server-seitige Skripte werden von einem in QF-Test eingebetteten Interpreter (Jython oder Groovy) ausgeführt. Skripte werden ausführlich in Kapitel 13 und Kapitel 37 erläutert.

Enthalten in: Alle Arten von von Sequenzen.

Kinder: Keine

Ausführung: Das Skript wird von einem Interpreter ausgeführt.

Attribute:

Server Skript Attribute
Abbildung 30.37:  'Server Skript' Attribute
'Skript'

Das Skript das ausgeführt werden soll.

Hinweis QF-Test Variablen werden expandiert bevor das Skript an den Jython Interpreter übergen wird. Dies ist praktisch, wenn der Wert der Variablen numerisch ist. Strings müssen dagegen für den Jython Interpreter in einfache oder doppelte Anführungsstriche gestellt werden, was zu Problemen führen kann, wenn die Variable selbst Anführungsstriche enthält. Daher ist die Methode rc.lookup(...) vorzuziehen (vgl. Kapitel 37).

Hinweis Trotz Syntax-Highlighting und automatischer Einrückung ist dieses Textfeld womöglich nicht der geeignete Ort, um komplexe Skripte zu schreiben. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons das Skript komfortabel bearbeitet werden kann. Außerdem können komplexe Skripte in separate Module ausgelagert werden, die dann in QF-Test Skripte importiert werden. (vgl. Kapitel 37).

Variabel: Ja

Einschränkungen: Gültige Syntax

'Skriptsprache'

Dieses Attribut legt den Interpreter fest, in dem das Skript ausgeführt wird, oder in anderen Worten die Skriptsprache. Mögliche Werte sind "Jython" und "Groovy".

Variabel: Nein

Einschränkungen: Keine

'Name'

Der Name eines Skripts ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion des Skripts aussagen.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine

30.6.13
'SUT Skript'

Client-seitige Skripte werden von einem Interpreter (Jython oder Groovy) ausgeführt, den QF-Test in das SUT einbettet. Skripte werden ausführlich in Kapitel 13 und Kapitel 37 erläutert.

Enthalten in: Alle Arten von von Sequenzen.

Kinder: Keine

Ausführung: Das Skript wird von einem Interpreter im SUT ausgeführt.

Attribute:

SUT Skript Attribute
Abbildung 30.38:  'SUT Skript' Attribute
'Client'

Der Name unter dem der Java Prozess des SUT gestartet wurde, in dem das Skript ausgeführt werden soll.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Skript'

Das Skript das ausgeführt werden soll.

Hinweis QF-Test Variablen werden expandiert bevor das Skript an den Jython Interpreter übergen wird. Dies ist praktisch, wenn der Wert der Variablen numerisch ist. Strings müssen dagegen für den Jython Interpreter in einfache oder doppelte Anführungsstriche gestellt werden, was zu Problemen führen kann, wenn die Variable selbst Anführungsstriche enthält. Daher ist die Methode rc.lookup(...) vorzuziehen (vgl. Kapitel 37).

Hinweis Trotz Syntax-Highlighting und automatischer Einrückung ist dieses Textfeld womöglich nicht der geeignete Ort, um komplexe Skripte zu schreiben. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons das Skript komfortabel bearbeitet werden kann. Außerdem können komplexe Skripte in separate Module ausgelagert werden, die dann in QF-Test Skripte importiert werden. (vgl. Kapitel 37).

Variabel: Ja

Einschränkungen: Gültige Syntax

'Skriptsprache'

Dieses Attribut legt den Interpreter fest, in dem das Skript ausgeführt wird, oder in anderen Worten die Skriptsprache. Mögliche Werte sind "Jython" und "Groovy".

Variabel: Nein

Einschränkungen: Keine

'GUI Engine'

Die GUI Engine in der das Skript ausgeführt werden soll. Nur relevant für SUTs mit mehr als einer GUI Engine wie in Kapitel 34 beschrieben.

Variabel: Ja

Einschränkungen: Siehe Kapitel 34

'Name'

Der Name eines Skripts ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion des Skripts aussagen.

Variabel: Nein

Einschränkungen: Keine

'Id'

Die Id ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Variabel: Ja

Einschränkungen: Keine