30.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 4.

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 zu gewährleisten 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.

30.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 4).

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 4). 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 30.39:  '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

'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

'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: Nein

Einschränkungen: Keine

30.7.2
'SUT Client starten'

Wenn Ihre Applikation norwalerweise 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 Verbingung zu QF-Test hergestellt werden kann. In diesem Fall sollten Sie Kapitel 4 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 30.40:  '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

'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

'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: Nein

Einschränkungen: Keine

30.7.3
'Browser 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. Falls der Prozess des SUT bereits gestartet wurde, kann mit diesem Knoten auch ein weiteres Browser-Fenster im laufenden Prozess geöffnet 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 30.41:  'Browser 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.

'URL'

Die URL der Webseite, die im Browser dargestellt werden soll. Als Sonderfall kann die URL "about:nowindow" angegeben werden, um den SUT Prozess ohne initiales Browser-Fenster zu starten. In diesem Zustand können der Cache oder persönliche Einstellungen für den Browser modifiziert werden, was eventuell eine Voraussetzung zum Öffnen einer URL sein kann. Das Browser-Fenster mit der eigentlichen Ziel-URL kann dann mittels eines weiteren 'Browser starten' Knotens geöffnet werden.

Variabel: Ja

Einschränkungen: Darf nicht leer sein

'Neues Browser-Fenster in bestehendem Prozess öffnen'

Ist dieses Attribut gesetzt, versucht QF-Test ein weiteres Browser-Fenster in einem existierenden SUT Prozess zu öffnen. In diesem Fall muss der SUT Client natürlich bereits gestartet worden sein.

Variabel: Ja

Einschränkungen: Keine

'Art des Browsers'

Die Art des Browsers für dein ein Fenster geöffnet werden soll. Aktuell werden "ie" für den Internet Explorer und "mozilla" für Mozilla-Derivate wie Firefox oder SeaMonkey unterstützt. In einem SUT Client können Fenster verschiedener Browser geöffnet werden.

Variabel: Ja

Einschränkungen: Aktuell werden "ie" oder "mozilla" unterstützt.

'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.

Variabel: Ja

Einschränkungen: Keine

'Verzeichnis der Mozilla Installation'

Für Mozilla basiert Browser muss hier das Verzeichnis der Mozilla Installation festgelegt werden.

Variabel: Ja

Einschränkungen: Muss entweder leer sein (für Browser-Typ "ie") oder ein existierendes Verzeichnis

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.

'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

'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: Nein

Einschränkungen: Keine

30.7.4
'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 30.42:  '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

'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

'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: Nein

Einschränkungen: Keine

30.7.5
'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 30.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

'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: Nein

Einschränkungen: Keine

30.7.6
'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 30.44:  '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 34 beschrieben.

Variabel: Ja

Einschränkungen: Siehe Kapitel 34

'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 8.

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

'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: Nein

Einschränkungen: Keine

30.7.7
'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 4 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 30.45:  'Programm beenden' Attribute
'Client'

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

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: Nein

Einschränkungen: Keine

30.7.8
'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 30.46:  '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

'Erwartetes Ergebnis'

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 8.

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

'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: Nein

Einschränkungen: Keine