Handbuch

37.7
Prozesse

Um die Kommunikation zwischen dem SUT und QF-Test herzustellen, müssen der oder die Prozesse des SUT aus QF-Test heraus gestartet werden. Details zu den Hintergründen beim Starten einer Applikation und Hinweise darauf, welche Methode wann am geeignetsten ist, finden Sie in Kapitel 41.

Mit Hilfe der folgenden Knotentypen können Sie Programme starten, auf die Verbindung mit einem SUT Client warten, auf das Ende eines Programms warten und dessen Exitcode auswerten, sowie Prozesse "abschießen", vergleichbar mit einem kill unter Unix. Die Zahl der Prozesse, die gleichzeitig von QF-Test gestartet werden können, ist nur durch das zu Grunde liegende System begrenzt. Allerdings muss jedem aktiven Prozess ein eindeutiger Name zugewiesen werden über den ihn andere Knoten ansprechen können.

Im Weiteren werden wir von QF-Test gestartete Prozesse als Clients bezeichnen. QF-Test unterscheidet zwischen zwei Arten von Clients: Beliebigen Programmen, die dazu dienen, korrekte Randbedingungen für einen Test sicher zu stellen und SUT Clients, den eigentlichen Java Applikationen, deren GUI von QF-Test ferngesteuert wird.

Die Standardein- und -ausgabekanäle eines Clients werden in ein Terminal umgeleitet, das über das »Client« Menü zugänglich ist. Die Ausgabe des Client's wird auch im Protokoll des Testlaufs gespeichert.

37.7.1
'Java SUT Client starten'

Dieser Knoten stellt die direkteste und flexibelste Möglichkeit dar, einen SUT Client zu starten. Hierzu muss das Java Kommando bekannt sein, welches Ihre Applikation startet. Wird das SUT normalerweise durch ein Skript gestartet, kann es einfacher sein, einen 'SUT Client starten' Knoten zu verwenden (vgl. Kapitel 41).

Anstatt Java direkt auszuführen, startet QF-Test das Programm qfclient, welches seinerseits QF-Tests eigene Hülle für das java Programm aufruft (vgl. Kapitel 41). Als praktischen Nebeneffekt dieser indirekten Methode können Sie das 'Verzeichnis' für alle JDK Versionen direkt angeben.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Die Kommandozeile für das Programm wird aus den Attributen zusammengesetzt und der Prozess gestartet. Ein- und Ausgabe des Programms werden umgeleitet und von QF-Test übernommen.

Attribute:

Java SUT Client starten Attribute
Abbildung 37.38:  'Java SUT Client starten' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Ausführbares Programm'

Das ausführbare Java Programm, das gestartet werden soll, normalerweise java bzw. javaw unter Windows. Wenn Sie eine spezielle Java Version verwenden wollen, sollten Sie den vollen Pfad angeben.

Der Datei Button Datei auswählen öffnet einen Dialog, in dem Sie das Programm direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Verzeichnis'

Hier können Sie das Arbeitsverzeichnis für das Programm festlegen. Wenn Sie nichts angeben, erbt das Programm das Arbeitsverzeichnis von QF-Test.

Der Verzeichnis Button Verzeichnis auswählen öffnet einen Dialog, in dem Sie das Verzeichnis direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Muss entweder leer, oder ein existierendes Verzeichnis sein

'Klasse'

Hier geben Sie den vollen Namen der Klasse des SUT an, deren main Methode zum Start des Programms aufgerufen werden soll. Wenn Ihre Applikation aus einem Ausführbaren jar Archiv mit dem -jar Parameter gestartet wird, müssen Sie dieses Attribut leer lassen.

Achtung: QF-Test kann die main Methode der Klasse nur starten, wenn sowohl die Klasse selbst, als auch die Methode als public deklariert sind. Wenn sie beim Start Ihrer Applikation eine IllegalAccessException erhalten, prüfen Sie nach ob das der Fall ist.

Variabel: Ja

Einschränkungen: Gültiger Klassenname inklusive Packages

'Programm-Parameter'

Hier finden Sie je eine Karteikarte für folgende Parameter:

Programm

Die Kommandozeilenargumente für das zu startende Java Programm. Jeder Parameter muss in seiner eigenen Zeile stehen, Leerzeichen innerhalb eines Parameters oder Sonderzeichen müssen nicht speziell behandelt werden.

Um zum Beispiel den classpath anzugeben, geben Sie in einer Zeile -classpath und der darauf folgenden Zeile den gewünschten Wert ein. Dabei brauchen Sie übrigens die jar Archive von QF-Test nicht zu bedenken.

Klasse

Hiermit können Sie Argumente an die aufgerufene Klasse übergeben (für Programmierer: die Argumente der main(String[]) Methode der Klasse). Jedes Argument muss dabei in seiner eigenen Zeile stehen, Leerzeichen innerhalb eines Arguments oder Sonderzeichen müssen nicht speziell behandelt werden.

Extra

Zusätzliche Argumente für die Klasse de.qfs.apps.qftest.start.StartClient, die die Kommunikation mit QF-Test herstellt und dann das eigentliche SUT startet. Für zukünftige Erweiterungen sowie internes Logging gedacht.

Näheres zur Arbeit mit den Tabellen finden Sie in Abschnitt 2.2.5.

Variabel: 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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.2
'SUT Client starten'

Wenn Ihre Applikation normalerweise durch ein Shellskript oder ein spezielles Programm gestartet wird, ist dieser Knoten die einfachste Möglichkeit das SUT aus QF-Test heraus zu starten. Je nachdem wie die Applikation durch das Skript gestartet wird, können einige Modifikationen daran nötig sein. Ein deutliches Signal dafür ist es, wenn da SUT zwar wie gewünscht startet, jedoch keine Verbindung zu QF-Test hergestellt werden kann. In diesem Fall sollten Sie Kapitel 41 lesen.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Die Kommandozeile für das Programm wird aus den Attributen zusammengesetzt und der Prozess gestartet. Ein- und Ausgabe des Programms werden umgeleitet und von QF-Test übernommen.

Attribute:

SUT Client starten Attribute
Abbildung 37.39:  'SUT Client starten' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Ausführbares Programm'

Das ausführbare Programm, das gestartet werden soll. Wenn sich das Programm nicht im PATH befindet, müssen Sie den vollen Pfad angeben.

Der Datei Button Datei auswählen öffnet einen Dialog, in dem Sie das Programm direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Verzeichnis'

Hier können Sie das Arbeitsverzeichnis für das Programm festlegen. Wenn Sie nichts angeben, erbt das Programm das Arbeitsverzeichnis von QF-Test.

Der Verzeichnis Button Verzeichnis auswählen öffnet einen Dialog, in dem Sie das Verzeichnis direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Achtung: Dieses Verzeichnis wird erst nach dem Starten des Programms zum Arbeitsverzeichnis. Das hat zur Folge, dass z.B. ein Skript namens ./kopiere_daten relativ zum Arbeitsverzeichnis von QF-Test gesucht wird und nicht relativ zu diesem Verzeichnis. Erst die Pfadangaben innerhalb des Skriptes werden relativ zu diesem Verzeichnis aufgelöst.

Variabel: Ja

Einschränkungen: Muss entweder leer, oder ein existierendes Verzeichnis sein

'Programm-Parameter'

Hier finden Sie je eine Karteikarte für folgende Parameter:

Programm

Die Kommandozeilenargumente für das zu startende Programm. Jeder Parameter muss in seiner eigenen Zeile stehen, Leerzeichen innerhalb eines Parameters oder Sonderzeichen müssen nicht speziell behandelt werden.

Extra

Zusätzliche Argumente für die Klasse de.qfs.apps.qftest.start.StartClient, die die Kommunikation mit QF-Test herstellt und dann das eigentliche SUT startet. Für zukünftige Erweiterungen sowie internes Logging gedacht.

Näheres zur Arbeit mit den Tabellen finden Sie in Abschnitt 2.2.5.

Variabel: 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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.3
'Programm starten'

Um während eines Tests ein beliebiges Programm zu starten, können Sie entweder diesen Knoten, oder einen 'Shellkommando ausführen' Knoten verwenden. Dieser Knoten ist vorzuziehen, wenn Sie mehrere, möglicherweise komplexe Parameter an das Programm übergeben wollen.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Die Kommandozeile für das Programm wird aus den Attributen zusammengesetzt und der Prozess gestartet. Ein- und Ausgabe des Programms werden umgeleitet und von QF-Test übernommen.

Attribute:

Programm starten Attribute
Abbildung 37.40:  'Programm starten' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Ausführbares Programm'

Das ausführbare Programm, das gestartet werden soll. Wenn sich das Programm nicht im PATH befindet, müssen Sie den vollen Pfad angeben.

Der Datei Button Datei auswählen öffnet einen Dialog, in dem Sie das Programm direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Verzeichnis'

Hier können Sie das Arbeitsverzeichnis für das Programm festlegen. Wenn Sie nichts angeben, erbt das Programm das Arbeitsverzeichnis von QF-Test.

Der Verzeichnis Button Verzeichnis auswählen öffnet einen Dialog, in dem Sie das Verzeichnis direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Achtung: Dieses Verzeichnis ist lediglich das Arbeitsverzeichnis des neu gestarteten Prozesses. Es hat keinen Einfluss auf das Arbeitsverzeichnis von QF-Test. Das hat zur Folge, dass z.B. ein Skript namens ./kopiere_daten relativ zum Arbeitsverzeichnis von QF-Test gesucht wird und nicht relativ zu diesem Verzeichnis. Erst die Pfadangaben innerhalb des Programms werden relativ zum angegebenen Verzeichnis aufgelöst.

Variabel: Ja

Einschränkungen: Muss entweder leer, oder ein existierendes Verzeichnis sein

'Programm-Parameter'

Hier finden Sie Die Kommandozeilenargumente für das zu startende Programm. Jeder Parameter muss in seiner eigenen Zeile stehen, Leerzeichen innerhalb eines Parameters oder Sonderzeichen müssen nicht speziell behandelt werden.

Näheres zur Arbeit mit den Tabellen finden Sie in Abschnitt 2.2.5.

Variabel: 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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.4
'Web-Engine starten'

Mit diesem Knoten kann ein Browser speziell für Webtesten gestartet werden. Zum Test eines Java Applets in einem Browser muss hingegen ein 'SUT Client starten' Knoten verwendet werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Die Kommandozeile für das Browser-Programm wird aus den Attributen zusammengesetzt und der Prozess gestartet. Ein- und Ausgabe des Programms werden umgeleitet und von QF-Test übernommen.

Attribute:

Browser starten Attribute
Abbildung 37.41:  'Web-Engine starten' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Art des Browsers'

Der Typ des zu startenden Browsers. Offiziell unterstützt werden aktuell "ie" für Internet Explorer, "firefox" (oder "mozilla") für Mozilla Firefox, "chrome" für Google Chrome, "edge" für Microsoft Edge, "safari" für Apple Safari, "headless-firefox" für Mozilla Firefox ohne sichtbares Fenster und "headless-chrome" (oder "headless") für Google Chrome ohne sichtbares Fenster.

Variabel: Ja

Einschränkungen: Erlaubte Werte sind "ie", "firefox" (alternativ "mozilla"), "chrome", "edge", "safari", "headless-firefox" und "headless-chrome" (alternativ "headless")

'Verzeichnis der Browser-Installation'

Für die meisten Browser kann dieses Feld leer gelassen werden. Für Firefox mit QF-Driver Verbindungsmodus muss hier das Installations-Verzeichnis des Browsers festgelegt werden. Bei einer Verbindung über WebDriver wird automatisch nach der Standardinstallation des angegebenen Browsers gesucht. Ist für diesen Browser die Installation mehrerer Versionen möglich, kann durch Angabe dieses Verzeichnisses gezielt eine Version gewählt werden.

Variabel: Ja

Einschränkungen: Muss entweder leer sein oder ein existierendes Verzeichnis

'Verbindungsmodus für den Browser'

Seit Version 4.1 kann sich QF-Test auf zwei verschiedene Arten mit einem Browser verbinden: Traditionell im QF-Driver Verbindungsmodus durch Einbettung des Browsers in eine Java VM oder über Selenium WebDriver. Weitere Informationen hierzu finden Sie in Kapitel 14. Für die meisten Browser ist nur eine Variante möglich, für Chrome unter Windows sowie Firefox bis Version 43 unter Windows und Linux allerdings beides. Dieses Attribut legt fest, wie in solchen Fällen zu verfahren ist. Die möglichen Werte sind:

Prefer QF-Driver
QF-Driver Verbindungsmodus vorziehen, falls nicht möglich WebDriver verwenden. Dies ist der Standard, der auch angewendet wird, wenn dieses Attribut leer bleibt.
QF-Driver only
Ausschließlich QF-Driver zulassen.
Prefer WebDriver
WebDriver Verbindungsmodus vorziehen, falls nicht möglich QF-Driver verwenden.
WebDriver only
Ausschließlich WebDriver zulassen.

Variabel: Ja

Einschränkungen: Muss entweder leer sein oder einer der Werte 'Prefer QF-Driver', 'QF-Driver only', 'Prefer WebDriver' oder 'WebDriver only'

'Ausführbares Programm'

Das ausführbare Java Programm, mit dem der Browser gestartet werden soll, normalerweise java bzw. javaw unter Windows. Wenn Sie eine spezielle Java Version verwenden wollen, sollten Sie den vollen Pfad angeben.

Hinweis Falls die Webanwendung ein Java Applet beinhaltet, müssen Sie hier das System JRE angeben, mit dem das Applet Plugin ausgeführt wird, andernfalls stürzt der Browser ab.

Der Standard-Wert ist ${qftest:java}, das Java Programm mit dem QF-Test selbst gestartet wurde. Wenn Sie den Browser über den QF-Driver ansprechen möchten (nur Windows/Linux), so ist darauf zu achten, dass dieses Java Programm die selbe 32 Bit oder 64 Bit Variante ist wie der im Attribut 'Verzeichnis der Browser-Installation' angegebene Firefox Browser.

Der Datei Button Datei auswählen öffnet einen Dialog, in dem Sie das Programm direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Programm-Parameter'

Hier finden Sie je eine Karteikarte für folgende Parameter:

Java VM

Die Kommandozeilenargumente für das java Programm in das der Browser eingebettet wird. Hierüber lassen sich der verfügbare Speicher (Standard ist 200MB), System Properties, Java Debugging und ähnliches konfigurieren. Jeder Parameter muss in seiner eigenen Zeile stehen, Leerzeichen innerhalb eines Parameters oder Sonderzeichen müssen nicht speziell behandelt werden.

Extra

Zusätzliche Argumente für die QF-Test Schicht, die den Browser einbettet und die RMI Kommunikation mit QF-Test herstellt. Für zukünftige Erweiterungen sowie internes Logging gedacht.

Näheres zur Arbeit mit den Tabellen finden Sie in Abschnitt 2.2.5.

Variabel: 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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.5
'Browser-Fenster öffnen'

Dieser Knoten öffnet eine Webseite in einem Browser-Fenster im laufenden Prozess. Der Prozess sollte vorher von einem 'Web-Engine starten' Knoten gestartet werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Es wird eine Webseite im gestarteten Web-Engine Prozess geöffnet.

Attribute:

Browser-Fenster öffnen Attribute
Abbildung 37.42:  'Browser-Fenster öffnen' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'URL'

Die URL der Webseite, die im Browser dargestellt werden soll.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Name des Browser-Fensters'

Dieses Attribut können Sie ignorieren, sofern Sie nicht eine Web-Anwendung mit mehreren offenen Browser-Fenstern testen müssen, die das selbe Dokument darstellen. In diesem Fall kann das Attribut 'Name des Browser-Fensters' dazu dienen, die Browser-Fenster zu unterscheiden. Hier können Sie den Namen des zu öffnenden Browser-Fensters festlegen. Der Umgang mit mehreren Fenstern wird in FAQ 24 genauer erläutert.

Variabel: Ja

Einschränkungen: Keine

Geometrie des Browser-Fensters

Diese optionalen Attribute für die X/Y Koordinate, Breite und Höhe können zur Definition der Geometrie des zu öffnenden Browser-Fensters verwendet werden.

Variabel: Ja

Einschränkungen: Breite und Höhe dürfen nicht negativ sein.

'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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.6
'Shellkommando ausführen'

Hiermit lässt sich während eines Testlaufs auf einfache Weise ein Shellkommando ausführen. Die Shell zur Ausführung des Kommandos kann beim Start von QF-Test auf der Kommandozeile mittels -shell <Programm> und -shellarg <Argument> angegeben werden. Standardmäßig wird unter Unix /bin/sh verwendet, unter Windows COMMAND.COM oder cmd.exe.

Nach dem Starten der Shell wird sie wie jeder andere von QF-Test gestartete Prozess behandelt, d.h. Sie können sie beenden oder auf ihr Ende warten und den Exitcode auswerten.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Eine Shell wird gestartet, um das Kommando auszuführen. Ihre Ein- und Ausgabe werden umgeleitet und von QF-Test übernommen.

Attribute:

Shellkommando ausführen Attribute
Abbildung 37.43:  'Shellkommando ausführen' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Shell Kommando'

Das Kommando, das die Shell ausführen soll. Geben Sie es genau so wie an einem Shellprompt ein.

Windows Unter Windows kann es zu Problemen beim Quoten von Argumenten mit Leerzeichen kommen. Wenn Sie die standard Windows Shell verwenden, schützen Sie die Argumente ganz normal mit Anführungsstrichen, z.B. dir "C:\Program Files". Wenn Sie dagegen mit Hilfe des Kommandozeilenarguments -shell <Programm> eine Unix Shell unter Windows einsetzen, sollten Sie die Argumente mit Hochkommas schützen, also ls 'C:/Program Files'.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Verzeichnis'

Hier können Sie das Arbeitsverzeichnis für die Shell festlegen. Wenn Sie nichts angeben, erbt die Shell das Arbeitsverzeichnis von QF-Test.

Der Verzeichnis Button Verzeichnis auswählen öffnet einen Dialog, in dem Sie das Verzeichnis direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Muss entweder leer, oder ein existierendes Verzeichnis sein

'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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.7
'PDF Client starten'

Über diesen Knoten wird ein zu testendes PDF Dokument von QF-Test in einen Viewer geladen, der als Client-Prozess gestartet wird. Information zum Testen eines PDF Dokuments finden Sie in Kapitel 15.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Der Viewer wird in einem Client-Prozess gestartet und das PDF Dokument geladen.

Attribute:

PDF Client starten Attribute
Abbildung 37.44:  'PDF Client starten' Attribute
'Client'

Dieser Name identifiziert den Client Prozess und muss eindeutig sein, so lange der Prozess läuft. Andere Knoten identifizieren den Client an Hand dieses Namens.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'PDF Dokument'

Das PDF Dokument, das geöffnet werden soll. Falls ein relativer Pfad angegeben ist, wird dieser relativ zum Verzeichnis der aktuellen Testsuite aufgelöst.

Der Datei Button Datei auswählen öffnet einen Dialog, in dem Sie die Datei direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Seite des PDF Dokuments'

Hier kann eine Seite angegeben werden, die beim Start angezeigt wird.

Eine Zahl wird als Seitennummer interpretiert. Ein String in Anführungszeichen wird als Seitenname interpretiert.
Beispiel:
5 öffnet die Seite 5
"Index IV" öffnet die Seite mit dem Namen Index IV

Variabel: Ja

Einschränkungen: Muss eine Ganzzahl oder ein valider Seitenname in Anführungszeichen sein.

'Passwort'

Hier kann das Passwort für das PDF Dokument angegeben werden, falls ein Passwort erforderlich ist.

HinweisEventuell ist es unerwünscht, das Kennwort im Klartext in der Testsuite oder dem Protokoll abzulegen. Um das Kennwort nach Eingabe in dieses Feld zu verschlüsseln, wählen Sie nach einem Rechts-Klick »Kennwort verschlüsseln« aus dem resultierenden Popupmenü. Geben Sie auf jeden Fall vor der Verschlüsselung einen Salt in der Option Salt für Verschlüsselung von Kennwörtern an.

Variabel: Ja

Einschränkungen: Leer oder das gültige Passwort, falls dieses benötigt wird.

'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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.8
'Warten auf Client'

Bei seiner Ausführung stellt dieser Knoten sicher, dass eine Verbindung zu einem bestimmten Client besteht. Ist dies nicht der Fall, wartet er eine gewisse Zeit und wirft im Fehlerfall eine ClientNotConnectedException. Das Resultat des Knotens kann auch in einer Variable mittels des Attributes 'Variable für Ergebnis' gesetzt werden. Mit Ausschalten des Attributes 'Im Fehlerfall Exception werfen' kann das Werfen der Exceptions unterdrückt werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: QF-Test wartet, bis der Java Client des SUT mit dem entsprechenden Namen eine RMI Verbindung herstellt, oder das Timeout abgelaufen ist.

Attribute:

Warten auf CLient Attribute
Abbildung 37.45:  'Warten auf Client' Attribute
'Client'

Der Name des Java Clients auf dessen Verbindung gewartet wird.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Wartezeit'

Zeit in Millisekunden, die maximal verstreichen darf.

Variabel: Ja

Einschränkungen: >= 0

'GUI Engine'

Die GUI Engine auf die gewartet werden soll. Nur relevant für SUTs mit mehr als einer GUI Engine wie in Kapitel 40 beschrieben.

Variabel: Ja

Einschränkungen: Siehe Kapitel 40

'Variable für Ergebnis'

Mit diesem optionalen Attribut können Sie den Namen einer Variable festlegen, die abhängig vom Ergebnis der Aktion auf 'true' (erfolgreich) oder 'false' (fehlgeschlagen) gesetzt wird.

Hinweis Ist dieses Attribut gesetzt, wird das Attribut 'Fehlerstufe der Meldung' ignoriert. Das Attribut 'Im Fehlerfall Exception werfen' behält dagegen seine Funktion, so dass es möglich ist, eine Ergebnisvariable zu erhalten und trotzdem eine Exception zu werfen.

Variabel: Ja

Einschränkungen: Keine

'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, in den globalen Definitionen. Eine Erläuterung dieser Begriffe und weitere Details zu Variablen finden Sie in Kapitel 7.

Variabel: Nein

Einschränkungen: Keine

'Fehlerstufe der Meldung'

Über dieses Attribut legen Sie die Fehlerstufe der Meldung fest, die in das Protokoll geschrieben wird, wenn die Aktion nicht erfolgreich ist. Zur Auswahl stehen Nachricht, Warnung und Fehler.

Hinweis Dieses Attribut ist ohne Bedeutung, falls eines der Attribute 'Im Fehlerfall Exception werfen' oder 'Variable für Ergebnis' gesetzt ist.

Variabel: Nein

Einschränkungen: Keine

'Im Fehlerfall Exception werfen'

Ist dieses Attribut gesetzt, wird bei einem Scheitern der Aktion eine Exception geworfen. Für 'Check...' Knoten wird eine CheckFailedException geworfen, für 'Warten auf...' Knoten eine spezifische Exception für diesen Knoten.

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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.9
'Programm beenden'

Hiermit kann ein Prozess, der von QF-Test gestartet wurde, beendet werden. Sollte sich der Prozess bereits selbst beendet haben, ändert sich nichts. Andernfalls versucht QF-Test im Fall eines SUT Clients zunächst, die Applikation durch Aufruf der Java Methode System.exit(-1) zu beenden. Ist der Client kein SUT Client oder anschließend immer noch nicht beendet, wird der Prozess "abgeschossen" und erhält einen Exitcode von -1.

WindowsAchtung: Unter Windows werden Kindprozesse nicht beendet, wenn der Vaterprozess abgeschossen wird. Wie in Kapitel 41 beschrieben, startet QF-Test das SUT über einige Umwege. Wenn das SUT sich nicht mit System.exit(-1) beenden lässt, kann das zu "herrenlosen" Prozessen führen, die nach und nach das System blockieren.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Schießt den Prozess ab, der unter dem entsprechenden Namen gestartet wurde.

Attribute:

Programm beenden Attribute
Abbildung 37.46:  'Programm beenden' Attribute
'Client'

Der Name unter dem der Prozess, der abgeschossen werden soll, gestartet wurde.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine

37.7.10
'Warten auf Programmende'

Hiermit kann auf das Ende eines Prozesses, der von QF-Test gestartet wurde, gewartet werden. Terminiert der Prozess nicht innerhalb des vorgegebenen Timeouts, wird eine ClientNotTerminatedException ausgelöst. Andernfalls wird der Exitcode des Prozesses ermittelt und kann mit einem vorgegebenen Wert verglichen werden. Das Resultat des Knotens kann auch in einer Variable mittels des Attributes 'Variable für Ergebnis' gesetzt werden. Mit Ausschalten des Attributes 'Im Fehlerfall Exception werfen' kann das Werfen der Exceptions unterdrückt werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Wartet auf das Ende des Prozesses, der unter dem entsprechenden Namen gestartet wurde und prüft dessen Exitcode.

Attribute:

Warten auf Programmende Attribute
Abbildung 37.47:  'Warten auf Programmende' Attribute
'Client'

Der Name unter dem der Prozess, auf dessen Ende gewartet werden soll, gestartet wurde.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Wartezeit'

Zeit in Millisekunden, die maximal verstreichen darf.

Variabel: Ja

Einschränkungen: >= 0

'Erwarteter Exitcode'

Ist dieses Attribut gesetzt, wird nach dem Ende des Prozesses dessen Exitcode ausgewertet und mit diesem Wert verglichen. Die Art des Vergleichs wird durch einen der vier Operatoren ==, !=, < und > festgelegt, die dem Wert vorangestellt werden können. Ohne Operator wird auf Gleichheit geprüft. Scheitert die Prüfung, wird eine TestException ausgelöst.

Beispiele: Wird als Attributwert 0 angegeben, so führt jeder andere Exitcode als 0 zu einem Fehler. Dies entspricht der Angabe ==0. Bei einem Wert von >0 löst entsprechend jeder Exitcode kleiner oder gleich 0 eine Exception aus.

Variabel: Ja

Einschränkungen: Siehe oben

'Variable für Ergebnis'

Mit diesem optionalen Attribut können Sie den Namen einer Variable festlegen, die abhängig vom Ergebnis der Aktion auf 'true' (erfolgreich) oder 'false' (fehlgeschlagen) gesetzt wird.

Hinweis Ist dieses Attribut gesetzt, wird das Attribut 'Fehlerstufe der Meldung' ignoriert. Das Attribut 'Im Fehlerfall Exception werfen' behält dagegen seine Funktion, so dass es möglich ist, eine Ergebnisvariable zu erhalten und trotzdem eine Exception zu werfen.

Variabel: Ja

Einschränkungen: Keine

'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, in den globalen Definitionen. Eine Erläuterung dieser Begriffe und weitere Details zu Variablen finden Sie in Kapitel 7.

Variabel: Nein

Einschränkungen: Keine

'Fehlerstufe der Meldung'

Über dieses Attribut legen Sie die Fehlerstufe der Meldung fest, die in das Protokoll geschrieben wird, wenn die Aktion nicht erfolgreich ist. Zur Auswahl stehen Nachricht, Warnung und Fehler.

Hinweis Dieses Attribut ist ohne Bedeutung, falls eines der Attribute 'Im Fehlerfall Exception werfen' oder 'Variable für Ergebnis' gesetzt ist.

Variabel: Nein

Einschränkungen: Keine

'Im Fehlerfall Exception werfen'

Ist dieses Attribut gesetzt, wird bei einem Scheitern der Aktion eine Exception geworfen. Für 'Check...' Knoten wird eine CheckFailedException geworfen, für 'Warten auf...' Knoten eine spezifische Exception für diesen Knoten.

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 Edit row Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Variabel: Ja

Einschränkungen: Keine