Prozeduren
Bei automatischen GUI Tests müssen immer wieder ähnliche Abläufe mit kleinen Variationen ausgeführt werden. Um die Komplexität einer Testsuite zu reduzieren und besser auf Änderungen reagieren zu können, ist es sinnvoll, wiederverwendbare Teile in Prozeduren auszulagern.
Eine Prozedur können Sie von jedem anderen Punkt der Testsuite und sogar aus anderen Testsuiten heraus aufrufen (vgl. Abschnitt 26.1). Dabei können Sie Parameter in Form von Variablendefinitionen übergeben (vgl. Kapitel 6).
Prozedur
|
Eine Prozedur ist eine Sequenz, die mittels eines Prozeduraufrufs von einer beliebigen anderen Stelle aus aufgerufen werden kann. In einer Prozedur lassen sich häufig wiederkehrende Bestandteile einer Testsuite kapseln und über die Argumente des Prozeduraufrufs in Grenzen variieren. Dadurch müssen diese Teile nur an einer Stelle gepflegt und an mögliche Änderungen des SUT angepasst werden. Die Parameter, die die Prozedur erwartet, werden nicht explizit angegeben, sondern ergeben sich durch die Variablenreferenzen der Kinder der Prozedur. Um den Überblick zu behalten, sollten Sie es sich zur Gewohnheit machen, die Parameter in der Bemerkung aufzuführen. Eine Prozedur kann mit Hilfe eines Return Knotens einen Wert an den aufrufenden Knoten zurückgeben. Ohne einen solchen Return Knoten wird implizit der leere String zurück geliefert. |
Enthalten in: Package, Prozeduren
Kinder: Beliebig
Ausführung: Die Variablen der Prozedur werden als "Fallback" gebunden, d.h. diese Werte werden verwendet, falls eine Variable keine andere Definition hat. Nachdem die Childknoten der Prozedur ausgeführt wurden, werden die Fallbacks wieder gelöscht.
Attribute:

- Name
-
Die Prozedur wird über ihren Namen, sowie die Namen ihrer Parents identifiziert. Daher sollten Sie einen Namen pro Package nur einmal vergeben und "sprechende" Namen verwenden, die etwas über die Prozedur aussagen und die Sie sich gut merken können.
Variabel: Nein
Einschränkungen: Darf nicht leer sein und keines der Zeichen '.' oder '#' enthalten.
- Variablendefinitionen
-
Hier können Sie Defaultwerte oder "Fallback" Werte für die Parameter der Prozedur definieren. Diese werden herangezogen, wenn eine Variable an keiner anderen Stelle definiert wurde (vgl. Kapitel 6). Außerdem dienen Sie als Dokumentation und bringen Zeitersparnis bei den Variablendefinitionen Attributen, wenn der Dialog für die Auswahl der Prozedur im Prozeduraufruf Knoten verwendet wird. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
4.2+ Mittels Rechtsklick und Auswahl von »Parameterordnung zurücksetzen«, können Sie die Sortierung der Parameter, wie diese in der Prozedur sortiert sind, wieder herstellen.
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.
Hinweis 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.7). 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
- QF-Test ID
-
Die QF-Test 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
Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei Komponenten Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Prozeduraufruf
|
Mit diesem Knoten lässt sich der Testlauf in einer Prozedur fortsetzen. Dieser können beliebige Parameter übergeben werden, z.B. der Name des Clients, Koordinaten für Mausklicks, Namen für eine Dateiauswahl etc. Nach dem Ende der Prozedur wird der im Attribut Variable für Rückgabewert definierten Variable der Rückgabewert der Prozedur zugewiesen und die Ablaufkontrolle kehrt wieder an die ursprüngliche Stelle zurück.
Die aufzurufende Prozedur wird über ihren Namen und die Namen
der Packages identifiziert. Die Namen werden analog
zu Java-Klassennamen zusammengesetzt, vom äußersten Package
bis zur Prozedur, verbunden mit einem Punkt ('.'). Wollen Sie
z.B. die Prozedur Sie können auch Prozeduren in anderen Testsuiten aufrufen. Näheres hierzu entnehmen Sie bitte Abschnitt 26.1. |
Enthalten in: Alle Arten von Sequenzen.
Kinder: Keine
Ausführung: Die Variablen des Aufrufs werden gebunden, die Prozedur an Hand ihres Namens ermittelt und die Ausführung mit der Prozedur fortgesetzt. Nach dem Ende der Prozedur werden die Variablen des Aufrufs gelöscht.
Attribute:

- Name der Prozedur
-
Der volle Name der Prozedur, zusammengesetzt aus den Namen der übergeordneten Packages und der Prozedur selbst, verbunden mit '.'.
Der "Prozedur auswählen" Button
oberhalb des Attributs öffnet einen Dialog, in dem Sie die Prozedur direkt auswählen können. Diesen erreichen Sie auch mittels Shift+Return oder Alt+Return, sofern sich der Fokus im Textfeld befindet. Alternativ können Sie den gewünschten Prozedurknoten mittels Strg+C bzw. »Bearbeiten«-»Kopieren« kopieren und seine QF-Test ID durch drücken von Strg+V in das Textfeld einfügen.
Variabel: Ja
Einschränkungen: Darf nicht leer sein.
- Variable für Rückgabewert
-
Der Rückgabewert der Prozedur wird der in diesem Attribut definierten Variable zugewiesen. Diese ist optional. Zusätzlich steht der letzte Rückgabewert einer Prozedur auch immer über ${qftest:return} zur Verfügung.
6.1+ Der Name der Variablen wird im Testsuitebaum angezeigt. Wenn es sich um eine globale Variable handelt, in Schwarz, bei einer lokalen in Blau.
Variabel: Ja
Einschränkungen: Kein
- Lokale Variable
-
Ist dieses Attribut nicht gesetzt, wird die Variable in den globalen Definitionen gebunden. Andernfalls wird - sofern vorhanden - die oberste aktuelle Definition der Variablen überschrieben, sofern diese innerhalb des aktuellen Prozedur, Abhängigkeit oder Testfall Knotens liegt. Gibt es keine solche Definition, wird eine neue Definition im aktuellen Prozedur, Abhängigkeit oder Testfall Knoten angelegt, oder, falls kein solcher existiert, im obersten Knoten auf dem Variablen-Stapel mit Fallback auf die globalen Definitionen. Eine Erläuterung dieser Begriffe und weitere Details zu Variablen finden Sie in Kapitel 6.
Über die Option Attribut 'Lokale Variable' standardmäßig aktivieren kann der Wert voreingestellt werden.
Variabel: Nein
Einschränkungen: Keine
- Variablendefinitionen
-
Hier können Sie Werte der Parameter für die Prozedur definieren. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
Variabel: Namen der Variablen nein, Werte ja
Einschränkungen: Keine
- QF-Test ID
-
Die QF-Test 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
Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei Komponenten Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Return
|
Mit Hilfe dieses Knotens kann eine Prozedur vorzeitig beendet und zusätzlich ein Wert an den aufrufenden Knoten zurückgegeben werden.
Aus einem Skript kann der selbe Effekt durch werfen einer |
Enthalten in: Alle Arten von Sequenzen.
Kinder: Keine
Ausführung:
Es wird eine ReturnException
geworfen die zum Abbruch der innersten
Prozedur führt. Wird dieser Knoten außerhalb einer Prozedur aufgerufen wird ein
Fehler ausgelöst.
Attribute:

- Rückgabewert
-
Der Wert, der von der Prozedur zurückgegeben werden soll. Ist nichts angegeben, wird der leere String zurückgegeben.
Variabel: Ja
Einschränkungen: Keine
- Expliziter Objekttyp
-
9.0+ In QF-Test Variablen können neben Zeichenketten auch beliebige andere Objekte gespeichert werden. Im Textfeld für den Wert kann zwar nur eine Zeichenkette angegeben werden, doch lässt sich hiermit festlegen, wie die Eingabe von QF-Test interpretiert werden soll:
- Keine Auswahl: Die Eingabe wird nicht weiter interpretiert. In den meisten Fällen wird das gespeicherte Objekt eine Zeichenkette sein, es sei denn, die Eingabe wurde durch Variablen-Expansion vollständig durch eine andere Variable ersetzt, wodurch deren Objekt unverändert übernommen wird.
- String: Die Eingabe wird in eine Zeichenkette umgewandelt.
-
Boolean: Die Eingabe wird in einen boolschen Wahrheitswert umgewandelt, wobei
0
, leere Strings sowie die Zeichenkettenfalse
,no
undnein
alsfalse
, andere Werte alstrue
ausgewertet werden. -
Number: Die Eingabe wird in eine Zahl umgewandelt. Je nach Eingabewert kann dies ein Integer, Long,
BigInteger, Double oder ein BigDecimal sein.
Schlägt die Umwandlung fehl, so wird eine
ValueCastException
geworfen. -
Object aus JSON: Die Eingabe wird als JSON-String interpretiert und in verschachtelte Maps und
Lists mit Strings, Numbers und Booleans umgewandelt.
Schlägt die Umwandlung fehl, so wird eine
ValueCastException
geworfen.
- QF-Test ID
-
Die QF-Test 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
Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei Komponenten Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Package
|
Packages dienen dazu, die Prozeduren einer Testsuite zu strukturieren, um eine bessere Übersicht zu erhalten. |
Enthalten in: Package, Prozeduren
Ausführung: Kann nicht ausgeführt werden.
Attribute:

- Name
-
Der Name eines Packages ist ein Teil der Identifikation der in ihm enthaltenen Prozeduren. Damit die Zuordnung eindeutig ist, sollte der Name des Packages innerhalb des Parents eindeutig sein. Verwenden Sie auch für die Packages "sprechende" Namen, die etwas über die darin enthaltenen Prozeduren aussagen und die Sie sich gut merken können.
Variabel: Nein
Einschränkungen: Darf nicht leer sein und keines der Zeichen '.' oder '#' enthalten.
- QF-Test ID
-
Die QF-Test 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.
- Grenze für relative Aufrufe
-
Ist dieses Attribut gesetzt, ist ein relativer Prozeduraufruf, ein relativer Testaufruf oder eine relative Referenz auf eine Abhängigkeit innerhalb dieses Knotens gestattet. Relative Aufrufe bzw. Referenzen, die diese Grenze überschreiten sind nicht erlaubt. Wenn dieses Attribut in der gesamten Hierarchie nicht gesetzt ist, so können keine relativen Prozeduraufrufe einfügt werden. Relative Testaufrufe sind unterhalb des Testsuite Knotens immer möglich.
Variabel: Nein
Einschränkungen: Keine
- 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
Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei Komponenten Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Prozeduren
|
Dies ist die Wurzel aller Packages und Prozeduren. |
Enthalten in: Wurzelknoten
Ausführung: Kann nicht ausgeführt werden.
Attribute:

- QF-Test ID
-
Die QF-Test 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.
- Grenze für relative Aufrufe
-
Ist dieses Attribut gesetzt, ist ein relativer Prozeduraufruf, ein relativer Testaufruf oder eine relative Referenz auf eine Abhängigkeit innerhalb dieses Knotens gestattet. Relative Aufrufe bzw. Referenzen, die diese Grenze überschreiten sind nicht erlaubt. Wenn dieses Attribut in der gesamten Hierarchie nicht gesetzt ist, so können keine relativen Prozeduraufrufe einfügt werden. Relative Testaufrufe sind unterhalb des Testsuite Knotens immer möglich.
Variabel: Nein
Einschränkungen: Keine
- 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
Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei Komponenten Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine