Die Aufrufsyntax für normalen und Batchmodus unterscheidet sich
deutlich, da einige Kommandozeilenargumente für den interaktiven, andere
für den Batchmodus oder einen Sub-Modus davon spezifisch sind.
Beachten Sie, dass alle Argumente sinnvolle
Voreinstellungen besitzen und nur in besonderen Fällen angegeben
werden müssen. Im Allgemeinen verwenden Sie lediglich qftest
[<Suite> | <Protokoll>]* für den interaktiven Modus
oder qftest -batch [-runlog [<Datei>]] [-report <Verzeichnis>] <Suite> für
den Batchmodus.
WindowsDas Programm qftest.exe ist eine Windows
GUI-Anwendung. Wird diese von der Eingabeaufforderung gestartet, wartet sie nicht
darauf, dass QF-Test beendet wird, sondern kehrt sofort zurück. Wenn also ein Test im
Batchmodus ausgeführt wird, kann man nicht erkennen, ob QF-Test bereits beendet ist oder
nicht (man könnte dem Abhelfen, indem man die Anweisung in eine .bat Datei
packt). Außerdem werden bei Verwendung von qftest.exe keine Ausgaben von
QF-Test in der Konsole angezeigt. Besser geeignet für die Ausführung von der
Eingabeaufforderung ist daher die Konsolen-Anwendung qftestc.exe: Sie
wartet, bis QF-Test sich beendet und wenn 'Server Skripte' print-Ausgaben
vornehmen, werden diese auf der Konsole angezeigt. Ansonsten gilt was in diesem Kapitel
über qftest.exe gesagt wird auch für qftestc.exe.
- Interaktiver Modus
-
Die Aufrufsyntax für den interaktiven Modus lautet:
qftest [-dbg]
[-java <Programm>] [-noconsole] [-plugindir <Verzeichnis>]
[-J<Java-Argument>]*
[-daemon]
[-daemonport <Port>]
[-engine <Engine>]
[-help]
[-jythonport <Nummer>]
[-libpath <Pfad>]
[-license <Datei>]
[-options <Datei>]
[-port <Nummer>]
[-reuse]
[-runtime]
[-serverhost <Host>]
[-shell <Programm>]
[-shellarg <Argument>]
[-splitlog]
[-systemcfg <Datei>]
[-tempdir <Verzeichnis>]
[-usercfg <Datei>]
[-variable <Name>=<Wert>]*
[-version]
[<Testsuite> | <Protokoll>]*
Es gibt mehrere Sub-Modi für die Ausführung von QF-Test im Batchmodus. Standardfall ist die
Durchführung von Tests aus einer oder mehreren Testsuiten. Alternativ können
Test-Dokumentation aus Testsuiten oder Reports aus Protokollen generiert oder ein oder
mehrere JDKs oder JREs instrumentiert werden. Außerdem kann QF-Test im Daemon Modus
gestartet werden in dem es von außen gesteuert werden kann (siehe Kapitel 40). Und schließlich kann auch die Anzeige von Hilfs- oder
Versionsinformationen als Sub-Modus angesehen werden.
- Tests durchführen
-
Um eine oder mehrere Testsuiten auszuführen und dabei ein Protokoll und/oder einen
Report zu erstellen, verwenden Sie:
qftest -batch [-run]
[-dbg] [-java <Programm>] [-noconsole] [-plugindir <Verzeichnis>]
[-J<Java-Argument>]*
[-compact]
[-engine <Engine>]
[-exitcodeignoreexception]
[-exitcodeignoreerror]
[-exitcodeignorewarning]
[-jythonport <Nummer>]
[-libpath <Pfad>]
[-license <Datei>]
[-nolog]
[-nomessagewindow]
[-options <Datei>]
[-port <Nummer>]
[-report <Verzeichnis>]
[-report.checks]
[-report.doctags]
[-report.errors]
[-report.exceptions]
[-report.html <Verzeichnis>]
[-report.ignorenotimplemented]
[-report.ignoreskipped]
[-report.junit <Verzeichnis>]
[-report.name <Name>]
[-report.nodeicons]
[-report.passhtml]
[-report.scale-thumbnails <Prozent>]
[-report.teststeps]
[-report.thumbnails]
[-report.warnings]
[-report.xml <Verzeichnis>]
[-runid [<ID>]]
[-runlog [<Datei>]]
[-runtime]
[-serverhost <Host>]
[-shell <Programm>]
[-shellarg <Argument>]
[-splitlog]
[-systemcfg <Datei>]
[-test <Index>|<Id>]*
[-threads <Anzahl>]*
[-variable <Name>=<Wert>]*
[-verbose [<level>]]
<Testsuite>+
- Ausführen eines Test durch einen QF-Test Daemon
-
Die folgenden Parameter steuern die Ausführung eines QF-Test Daemon-Tests:
qftest -batch -calldaemon
[-cleanup]
[-dbg] [-java <Programm>] [-noconsole] [-J<java-argument>]*
[-daemonhost <Host>]
[-daemonport <Port>]
[-nomessagewindow]
[-ping]
[-options <Datei>]
[-runid [<ID>]]
[-runlog [<Datei>]]
[-startclean]
[-startsut]
[-stopclean]
[-stoprun]
[-suitedir <Verzeichnis>]
[-terminate]
[-timeout <Millisekunden>]
[-variable <Name>=<Wert>]*
[-verbose [<level>]]
<suite#test-case>
- Test-Dokumentation erstellen
-
Package oder Testfall Dokumentation kann für eine oder mehrere Testsuiten oder ganze
Verzeichnisse in einem Durchgang erstellt werden. Dies wird in Kapitel 15 genauer besrieben. Die Kommandozeilen Syntax lautet:
qftest -batch -gendoc
[-dbg] [-java <Programm>] [-noconsole]
[-J<Java-Argument>]*
[-license <Datei>]
[-options <Datei>]
[-nomessagewindow]
[-pkgdoc <Verzeichnis>]
[-pkgdoc.doctags]
[-pkgdoc.dependencies]
[-pkgdoc.html <Verzeichnis>]
[-pkgdoc.includelocal]
[-pkgdoc.nodeicons]
[-pkgdoc.passhtml]
[-pkgdoc.sortpackages]
[-pkgdoc.sortprocedures]
[-pkgdoc.xml <Verzeichnis>]
[-sourcedir <Verzeichnis>]
[-testdoc <Verzeichnis>]
[-testdoc.doctags]
[-testdoc.followcalls]
[-testdoc.html <Verzeichnis>]
[-testdoc.nodeicons]
[-testdoc.passhtml]
[-testdoc.sorttestcases]
[-testdoc.sorttestsets]
[-testdoc.teststeps]
[-testdoc.xml <Verzeichnis>]
(<Testsuite> | <Verzeichnis>)+
- Einen Report aus Protokollen erstellen
-
Um einen Report aus einem oder mehreren Protokollen oder ganzen Verzeichnissen zu
erstellen verwenden Sie:
qftest -batch -genreport
[-dbg] [-java <Programm>] [-noconsole]
[-J<Java-Argument>]*
[-license <Datei>]
[-nomessagewindow]
[-options <Datei>]
[-report <Verzeichnis>]
[-report.checks]
[-report.doctags]
[-report.errors]
[-report.exceptions]
[-report.html <Verzeichnis>]
[-report.ignorenotimplemented]
[-report.ignoreskipped]
[-report.junit <Verzeichnis>]
[-report.name <Name>]
[-report.nodeicons]
[-report.passhtml]
[-report.scale-thumbnails <Prozent>]
[-report.teststeps]
[-report.thumbnails]
[-report.warnings]
[-report.xml <Verzeichnis>]
[-runlogdir <Verzeichnis>]
(<Protokoll> | <Verzeichnis>)+
- Ein oder mehrere JDKs oder JREs instrumentieren
-
Dies kann zur vollständigen Automatisierung von Tests hilfreich sein, bei denen eine
Installation des SUT durchgeführt wird und dieses sein eigenes JRE mitbringt,
welches zunächst instrumentiert werden muss, bevor Tests ausgeführt werden können.
Folgender Aufruf wird hierzu benötigt:
qftest -batch -instrument
[-dbg] [-java <Programm>] [-noconsole]
[-J<Java-Argument>]*
[-license <Datei>]
[-nomessagewindow]
[-options <Datei>]
<Pfad zu JDK oder JRE>+
- Daemon Modus
-
Um QF-Test im Daemon Modus wie in Kapitel 40 beschrieben zu starten
verwenden Sie:
qftest -batch -daemon
[-dbg] [-java <Programm>] [-noconsole] [-plugindir <Verzeichnis>]
[-J<Java-Argument>]*
[-daemonport <Port>]
[-engine <Engine>]
[-jythonport <Nummer>]
[-libpath <Pfad>]
[-license <Datei>]
[-nolog]
[-nomessagewindow]
[-options <Datei>]
[-port <Nummer>]
[-runtime]
[-serverhost <Host>]
[-shell <Programm>]
[-shellarg <Argument>]
[-systemcfg <Datei>]
[-variable <Name>=<Wert>]*
- Eine Testsuite in eine andere importieren
-
qftest -batch -import
[-import.from <Testsuite>] [-import.into <Testsuite>]
[-import.components] [-import.procedures] [-import.tests]
- Referenzen einer Testsuite analysieren
-
qftest -batch -analyze
[-analyze.target <Verzeichnis>]
[-suitedir <Verzeichnis>]
[-analyze.components]
[-analyze.procedures]
[-analyze.dependencies]
[-analyze.tests]
[-analyze.transitive]
(<Testsuite> | <Verzeichnis>)+
- Versionsinformationen ausgeben
-
qftest -batch -version
- Hilfe anfordern
-
qftest -batch -help
Kommandozeilenargumente für QF-Test fallen in drei Kategorien, wobei
es nicht auf die Reihenfolge ankommt.
Diese Argumente werden direkt vom qftest Skript
bzw. Programm ausgewertet und heben die Werte auf, die während der
Installation von QF-Test ermittelt wurden. Unter Unix stehen diese in
der Datei launcher.cfg in QF-Tests Wurzelverzeichnis,
unter Windows in der Registry.
-
-batch
-
Startet QF-Test im Batchmodus. Dadurch lädt QF-Test eine
Testsuite, führt sie direkt aus und beendet sich mit einem
Rückgabewert, der das Ergebnis des Testlaufs wiederspiegelt.
-
-dbg
-
Schaltet Debugausgaben für das Startskript ein. Den selben Effekt erreichen Sie,
wenn Sie die Umgebungsvariable
QFTEST_DEBUG auf einen nichtleeren Wert
setzen. Sofern nicht zusätzlich -noconsole angegeben ist, öffnet QF-Test unter
Windows in diesem Fall ein Konsolenfenster, da die Ausgaben ansonsten nicht sichtbar
wären. Falls der alte Verbindungsmechanismus zum SUT eingesetzt wird, schaltet diese
Option gleichzeitig Debugausgaben für das qfclient Programm und QF-Tests
java Hülle ein (vgl. Kapitel 4).
-
-java <Programm>
-
Das Java Programm, das die Ausführung von QF-Test
übernimmt. Standard sind
java unter Unix und
javaw.exe unter Windows, sofern während der
Installation nichts anderes angegeben wurde.
-
-noconsole (nur Windows)
-
Verhindert das Öffnen eines Konsolenfensters unter Windows für den Fall, dass
-dbg ebenfalls angegeben ist.
-
-plugindir <Verzeichnis>
-
Mit diesem Argument kann der Ort für das Plugin Verzeichnis für
jar Dateien, auf die per Skript zugegriffen werden soll,
überschrieben werden. Dieses Verzeichnis heisst normalerweise
plugin und liegt im Wurzelverzeichnis von QF-Test,
qftest. Weitere Informationen über Plugins finden
Sie in Abschnitt 37.2.
Sie können durch das Startskript Argumente an die Java VM
weiterreichen, indem Sie diesen -J voranstellen, z.B.
-J-Duser.language=en, um eine Systemvariable zu setzen.
Um den classpath anzugeben, fügen Sie -J nur dem
-cp oder -classpath Argument zu, nicht dem
eigentlichen Wert, z.B. -J-classpath
myclasses.jar. Auch wenn Sie den classpath auf diese Weise
angeben, brauchen Sie QF-Tests eigene jar Archive nicht zu
berücksichtigen.
Die restlichen Argumente werden von QF-Test selbst ausgewertet, wenn
es von der Java VM ausgeführt wird. Diese Argumente können auch
in eine Datei geschrieben werden. Das Format lautet
<Name>=<Wert> für Argumente mit
Parametern und <Name>=true oder
<Name>=false, um ein einfaches Argument ein-
oder auszuschalten. Normalerweise heisst diese Datei
qftest.options, liegt im bin
Verzeichnis von QF-Test und wird nur für interne Zwecke verwendet.
Wenn Sie Änderungen an dieser Datei
vornehmen, ist es sinnvoll, sie in das Wurzelverzeichnis von QF-Test
zu kopieren, da diese Änderungen dadurch auch nach einem Update
gültig bleiben. Alternativ können Sie über das -options <Datei>
Argument eine andere Datei angeben. Argumente auf der
Kommandozeile haben Vorrang vor Argumenten aus der Datei. Für
Argumente, die mehrfach angegeben werden können, werden sowohl
Angaben von der Kommandozeile, als auch aus der Datei übernommen.
-
-analyze (nur Batchmodus)
-
Modus, um Referenzen und Komponentenverweise in den angegebenen
Testsuiten zu analysieren. Das Ergebnis wird in eine angegebene
Datei geschrieben.
-
-analyze.target <Verzeichnis> (nur Batchmodus)
-
Das Zielverzeichnis, in welches die Ergebnisdatei gespeichert wird.
-
-analyze.components (nur Batchmodus)
-
Schalter, um Komponentenverweise zu analysieren.
-
-analyze.dependencies (nur Batchmodus)
-
Schalter, um Verweise auf Abhängigkeiten zu analysieren.
-
-analyze.procedures (nur Batchmodus)
-
Schalter, um Aufrufe von Prozeduren zu analysieren.
-
-analyze.tests (nur Batchmodus)
-
Schalter, um Aufrufe von Testfällen zu analysieren.
-
-analyze.transitive (nur Batchmodus)
-
Schalter, um die gefundenen Referenzen transitiv zu
analysieren, d.h. auch deren Inhalt und Verweise zu prüfen.
-
-calldaemon
(nur Batchmodus)
-
Verbinden mit einem laufenden QF-Test Daemon, um einen Test(fall) auszuführen.
-
-cleanup
(nur Calldaemon-Modus)
-
Mit diesem Argument werden alle TestRunDaemon-Objekte einer Daemon-Instanz aufgeräumt
und alle Clients beendet bevor der Test ausgeführt wird.
-
-compact (nur Batchmodus)
-
Erstellt ein kompaktes Protokoll, das nur die Äste und Knoten
enthält, in denen Warnungen, Fehler oder Exceptions aufgetreten
sind. Hat keine Bedeutung, wenn das Protokoll mittels
-nolog unterdrückt wird.
-
-daemon
-
Startet QF-Test im Daemon Modus. Weitere Informationen finden Sie in Kapitel 40.
-
-daemonport <Port>
-
Legt den Registry Port für den Daemon fest. Standard ist 3543 oder der mittels
-port <Nummer> festgelegte Port.
-
-daemonhost <Host>
(nur Calldaemon-Modus)
-
Legt den Rechner fest, auf dem nach einem laufenden QF-Test Daemon gesucht wird
(Vorgabe ist localhost).
-
-engine <Engine>
-
Legt fest, welche Engine Lizenzen verwendet werden. Diese Option ist nur sinnvoll
wenn Ihre QF-Test Lizenz eine Mischung von Engine Lizenzen in unterschiedlicher Anzahl
unterstützt. In diesem Fall kann es nötig sein, die benötigte GUI Engine zu
spezifizieren, um so Lizenz-Konflikte mit Kollegen zu vermeiden, welche die selbe
Lizenz nutzen. Mögliche Werte sind "all" für alle unterstützten Lizenzen, "ask" um
einen Dialog zur Auswahl der Engine anzuzeigen sowie eine beliebige Kombination von
"awt" für AWT/Swing, "swt" für SWT oder "web" für Web, z.B. "awt,web". Weitere
Informationen hierzu finden Sie in Abschnitt 29.1.7.
-
-exitcodeignoreexception
(nur Batchmodus)
-
Exceptions, Fehler und Warnungen werden bei der Berechnung des Rückgabewertes von QF-Test ignoriert. Das
bedeutet, dass bei einem Testlauf mit Exceptions, Fehlern oder Warnungen 0 geliefert wird. Diese Option
ist hilfreich für die Integration von QF-Test mit Build-Tools, die abhängig vom Rückgabewert
den Build als fehlgeschlagen interpretieren.
-
-exitcodeignoreerror
(nur Batchmodus)
-
Fehler und Warnungen werden bei der Berechnung des Rückgabewertes von QF-Test ignoriert. Das
bedeutet, dass bei einem Testlauf mit nur Fehlern oder Warnungen 0 geliefert wird. Diese Option
ist hilfreich für die Integration von QF-Test mit Build-Tools, die abhängig vom Rückgabewert
den Build als fehlgeschlagen interpretieren.
-
-exitcodeignorewarning
(nur Batchmodus)
-
Warnungen werden bei der Berechnung des Rückgabewertes von QF-Test ignoriert. Das
bedeutet, dass bei einem Testlauf mit nur Warnungen 0 geliefert wird. Diese Option
ist hilfreich für die Integration von QF-Test mit Build-Tools, die abhängig vom Rückgabewert
den Build als fehlgeschlagen interpretieren.
-
-gendoc (nur Batchmodus)
-
Teilt QF-Test mit dass dieser Batch-Lauf zur Erstellung von Test-Dokumentation aus
Testsuiten dient.
-
-genreport (nur Batchmodus)
-
Teilt QF-Test mit dass dieser Batch-Lauf zur Erstellung von Reports aus
Protokollen dient.
-
-help
-
Zeigt Hilfe zu den verfügbaren Kommandozeilenargumenten an.
-
-import (nur Batchmodus)
-
Importiert eine Testsuite in eine andere.
-
-import.from <Testsuite> (nur Batchmodus)
-
Die Testsuite, welche importiert werden soll.
-
-import.into <Testsuite> (nur Batchmodus)
-
Die Zieltestsuite, in die importiert werden soll.
-
-import.components (nur Batchmodus)
-
Schalter, um Komponenten zu importieren.
-
-import.procedures (nur Batchmodus)
-
Schalter, um Packages und Prozeduren zu importieren.
-
-import.tests (nur Batchmodus)
-
Schalter, um Testfallsätze und Testfälle zu importieren.
-
-instrument (nur Batchmodus)
-
Instrumentiert ein oder mehrere JDKs oder JREs automatisch. Diese
Instrumentierung und der darauf folgende Test können nicht in einem Aufruf vereint
werden, sondern müssen als separate Kommandos ausgeführt werden.
-
-jythonport <Nummer>
-
Weist den eingebetteten Jython Interpreter an, auf der
angegebenen Portnummer auf TCP Verbindungen zu lauschen. Sie
können dann
telnet verwenden, um sich mit diesem
Prot zu verbinden und eine interaktive Jython Kommandozeile zu
erhalten.
-
-libpath <Pfad>
-
Dieser Wert entspricht der Option Verzeichnisse mit Testsuite Bibliotheken
und setzt diese ausser Kraft. Die Verzeichnisse des
Bibliothekspfads sollten durch das dem System entsprechende
Trennzeichen getrennt werden, d.h. ';' für Windows und ':' für
Unix. Das
include Verzeichnis von QF-Test wird
automatisch an das Ende des Bibliothekspfads gestellt.
-
-license <Datei>
-
Gibt den Ort der Lizenzdatei an, falls dieser vom Standard
abweicht (vgl. Abschnitt 1.3).
-
-nolog (nur Batchmodus)
-
Verhindert die automatische Erstellung eines Protokolls. Falls
-runlog [<Datei>],
-report <Verzeichnis>, -report.html <Verzeichnis>, -report.xml <Verzeichnis> oder
-report.junit <Verzeichnis>
angegeben ist, wird dieses Argument ignoriert. Diese
Option ist nur noch aus Gründen der Rückwärtskompatibilität vorhanden. Um den
Speicherverbrauch im Griff zu halten sollten geteilte Protokolle verwendet werden
(vgl. -splitlog).
-
-nomessagewindow (nut Batchmodus)
-
Wenn schwere Fehler im Batchmodus auftreten, gibt QF-Test eine Fehlermeldung in der
Konsole aus und öffnet zur besseren Sichtbarkeit zusätzlich für ca. 30 Sekunden
einen Fehlerdialog. Das Öffnen des Dialogs kann mit diesem Argument verhindert
werden.
-
-options <Datei>
-
Legt die Datei fest, aus der weitere Argumente gelesen
werden. Dieses Argument kann mehrfach angegeben werden, um
Argumente aus mehreren Dateien zu lesen.
-
-ping
(nur Calldaemon-Modus)
-
Prüft, ob ein Daemon erreichbar ist.
-
-pkgdoc <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test HTML und XML Pkgdoc Dokumentation. Ist kein
Verzeichnis angegeben wird der Name aus dem Namen der Testsuite gebildet.
-
-pkgdoc.dependencies
(nur Batchmodus)
-
Legt fest, ob 'Abhängigkeiten' in pgkdoc Dokumenten aufgeführt werden. Standard ist
ja, mit
-pkgdoc.doctags=false können diese ausgeschaltet werden.
-
-pkgdoc.doctags
(nur Batchmodus)
-
Legt fest, ob die doctags Erweiterungen von QFS verwendet werden. Standard ist
ja, mit
-pkgdoc.doctags=false können die doctags
ausgeschaltet werden.
-
-pkgdoc.html <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test HTML Pkgdoc Dokumentation. Ist kein Verzeichnis
angegeben, wird der Name aus dem Namen der Testsuite gebildet.
-
-pkgdoc.includelocal
(nur Batchmodus)
-
Legt fest, ob lokale Packages und Prozeduren, d.h. solche, deren Name mit einem '_'
beginnt, einbezogen werden. Standard ist nein.
-
-pkgdoc.nodeicons
(nur Batchmodus)
-
Legt fest, ob Icons für Knoten in der Pkgdoc Dokumentation angezeigt werden. Standard ist
ja, mit
-pkgdoc.nodeicons=false können die Icons
ausgeschaltet werden.
-
-pkgdoc.passhtml
(nur Batchmodus)
-
Legt fest, ob HTML Tags in Kommentaren unverändert an die HTML Dokumentation
durchgereicht werden. Standard ist ja, mit
-pkgdoc.passhtml=false
können die Tags ausgeschaltet werden.
-
-pkgdoc.sortpackages
(nur Batchmodus)
-
Legt fest, ob Packages alphabetisch sortiert werden. Standard ist ja, mit
-pkgdoc.sortpackages=false kann die Sortierung ausgeschaltet werden.
-
-pkgdoc.sortprocedures
(nur Batchmodus)
-
Legt fest, ob Prozeduren alphabetisch sortiert werden. Standard ist ja, mit
-pkgdoc.sortprocedures=false kann die Sortierung ausgeschaltet werden.
-
-pkgdoc.splitparagraph
(nur Batchmodus)
-
Legt fest, ob Kommentare an Leerzeilen in Absätze aufgeteilt werden.
Standard ist ja, mit
-pkgdoc.splitparagraph=false können Sie
die Option ausschalten.
-
-pkgdoc.stylesheet <Datei>
(nur Batchmodus)
-
Optionales XSLT Stylesheet für die zweite Stufe der Transformation.
-
-pkgdoc.xml <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test XML Pkgdoc Dokumentation. Ist kein Verzeichnis
angegeben, wird der Name aus dem Namen der Testsuite gebildet.
-
-port <Nummer>
-
Der TCP Port auf dem QF-Test mit dem SUT
kommuniziert. Normalerweise sucht sich QF-Test einen freien
dynamischen Port, um dort seine eigene RMI Registry
anzulegen. Ein spezieller Port sollte nur dann angegeben werden,
wenn es erforderlich ist, um das SUT zu starten.
-
-report <Verzeichnis>
(nur Batchmodus)
-
Erstellt einen kombinierten XML/HTML Report. Im Verzeichnisnamen können
Platzhalter, wie in Abschnitt 32.2.4 beschrieben, angegeben werden.
-
-report.checks
(nur Batchmodus)
-
Legt fest, ob Checks im Report aufgelistet werden. Standard ist nein.
-
-report.doctags
(nur Batchmodus)
-
Legt fest, ob die doctags Erweiterungen von QFS verwendet werden. Standard ist
ja, mit
-report.doctags=false können die doctags
ausgeschaltet werden.
-
-report.errors
(nur Batchmodus)
-
Legt fest, ob Fehler im Report aufgelistet werden. Standard ist
ja, mit
-report.errors=false können die Fehler
ausgeschaltet werden.
-
-report.exceptions
(nur Batchmodus)
-
Legt fest, ob Exceptions im Report aufgelistet werden. Standard
ist ja, mit
-report.exceptions=false können die
Exceptions ausgeschaltet werden.
-
-report.html <Verzeichnis>
(nur Batchmodus)
-
Erstellt einen HTML Report. Im Verzeichnisnamen können Platzhalter, wie in Abschnitt 32.2.4 beschrieben, angegeben werden.
-
-report.ignorenotimplemented
(nur Batchmodus)
-
Legt fest, ob nicht implementierte Knoten im Report ignoriert werden sollen. In
diesem Fall werden auch die Legende und die Spalten für nicht implementierte Tests
nicht angezeigt. Standard ist nein, d.h. nicht implementierte Tests werden
angezeigt.
-
-report.ignoreskipped
(nur Batchmodus)
-
Legt fest, ob übersprungene Knoten im Report ignoriert werden sollen. In diesem Fall
werden auch die Legende und die Spalten für übersprungene Tests nicht angezeigt.
Standard ist nein, d.h. übersprungene Tests werden angezeigt.
-
-report.junit <Verzeichnis>
(nur Batchmodus)
-
Erstellt einen Report im JUnit XML Format, wie ihn viele Continuous Integration Tools
verstehen. Im Verzeichnisnamen können Platzhalter, wie in Abschnitt 32.2.4
beschrieben, angegeben werden.
-
-report.name <Name>
(nur Batchmodus)
-
Legt den Reportnamen fest (nicht den Dateinamen). Standard ist die Runid. Im
Reportnamen können Platzhalter, wie in Abschnitt 32.2.4
beschrieben, angegeben werden.
-
-report.nodeicons
(nur Batchmodus)
-
Legt fest, ob Icons für Knoten im Report angezeigt werden. Standard ist
ja, mit
-report.nodeicons=false können die Icons
ausgeschaltet werden.
-
-report.passhtml
(nur Batchmodus)
-
Legt fest, ob HTML Tags in Kommentaren unverändert an den HTML Report durchgereicht
werden. Standard ist ja, mit
-report.passhtml=false können die Tags
ausgeschaltet werden.
-
-report.scale-thumbnails <Prozent>
(nur Batchmodus)
-
Bestimmt die Skalierung von Miniaturbildern für Screenshots in der Fehlerübersichten
von Reports, angegeben in Prozent. Standard ist 20.
-
-report.teststeps
(nur Batchmodus)
-
Legt fest, ob Testschritte im Report aufgelistet werden. Standard
ist ja, mit
-report.teststeps=false können die
Testschritte ausgeschaltet werden.
-
-report.thumbnails
(nur Batchmodus)
-
Legt fest, ob Miniaturbilder für Screenshots in den Fehlerübersichten des Reports
dargestellt werden. Standard ist nein.
-
-report.warnings
(nur Batchmodus)
-
Legt fest, ob Warnungen im Report berücksichtigt werden. Standard
ist ja.
-
-report.xml <Verzeichnis>
(nur Batchmodus)
-
Erstellt einen XML Report. Im Verzeichnisnamen können Platzhalter, wie in Abschnitt 32.2.4 beschrieben, angegeben werden.
-
-reuse (nur interaktiver Modus)
-
Dieses Argument findet vor allem beim Start von QF-Test über ein
Desktop Icon oder mittels einer Dateiverknüpfung aus dem Windows
Explorer Anwendung. Es veranlasst QF-Test zunächst nach bereits
laufenden QF-Test Programmen zu suchen und diese zu bitten, die
angegebenen Dateien zu öffnen. Im Erfolgsfall wird die neu
gestartete Version sofort wieder beendet und das bereits
laufende Programm öffnet die Dateien in neuen Fenstern.
-
-run (nur Batchmodus)
-
Teilt QF-Test explizit mit dass dieser Batch-Lauf zur Durchführung von Tests dient und
nicht zur Erstellung von Test-Dokumentation oder Reports. Da dies der Standard-Fall
ist kann dieses Kommandozeilenargument wegfallen.
-
-runid [<ID>]
(Batch- und Calldaemon-Modus)
-
Legt die ID eines Testlaufs fest. In der ID können Platzhalter, wie in Abschnitt 32.2.4 beschrieben, angegeben werden. Sie dient selbst wiederum
als Ersatz für den Platzhalter
%i/+i.
-
-runlog [<Datei>]
(Batch- und Calldaemon-Modus)
-
Schreibt das Protokoll in die angegebene Datei. Im optionalen Dateinamen können
Platzhalter, wie in Abschnitt 32.2.4 beschrieben, angegeben werden.
Ist keine Endung angegeben, wird automatisch
.qrz angehängt und das
Protokoll komprimiert geschrieben. Andernfalls entscheidet die Endung
.qrl oder .qrz über die Kompression. Ist gar keine Datei
angegeben, wird der Name aus dem Namen der Testsuite sowie dem aktuellen Datum und
Uhrzeit gebildet. Ein Protokoll wird immer erstellt, sofern es nicht durch Angabe
von -nolog unterdrückt oder ein Report generiert wird.
Im Calldaemon-Modus wird das Protokoll nur bei Angabe eines (lokalen) Dateinames
gespeichert.
-
-runlogdir <Verzeichnis>
(nur Batchmodus)
-
Dieses Argument legt das Zielverzeichnis zum Speichern von Protokollen fest, sofern
im Argument
-runlog [<Datei>] kein absoluter Pfad angegeben ist. Wird dieses Argument
bei der Erstellung eines Reports angegeben, werden die Dateien im Report
entsprechend der Struktur der Protokolle relativ zu diesem Verzeichnis angelegt. Im
Verzeichnisnamen können Platzhalter, wie in Abschnitt 32.2.4
beschrieben, angegeben werden.
-
-runtime
-
Mit diesem Argument verwendet QF-Test ausschließlich Runtime Lizenzen. Im Batch Modus
wird QF-Test normalerweise mit einer Runtime Lizenz gestartet (oder mehreren bei der
Angabe von
-threads <Anzahl>). Sind nicht ausreichend Runtime Lizenzen vorhanden,
verwendet QF-Test stattdessen volle Entwicklerlizenzen. Dies wird durch die Angabe von
-runtime verhindert, so dass sich QF-Test bei mangelnden Runtime Lizenzen mit einem
Fehler beendet. Im interaktiven Modus verwendet QF-Test bei Angabe von -runtime
eine Runtime statt einer Entwicklerlizenz. Damit können Tests normal oder unter
Verwendung des Debuggers ausgeführt werden. Testsuite können allerdings nicht
gespeichert werden, selbst wenn sie für experimentelle Tests verändert wurden.
-
-shell <Programm>
-
Das Shell Programm, das zur Ausführung eines
'Shellkommando ausführen' Knotens verwendet wird. Vorgegeben
sind
/bin/sh unter Unix und COMMAND.COM
bzw. cmd.exe unter Windows.
-
-shellarg <Argument>
-
Das Argument, das der mittels
-shell <Programm> angegebenen Shell
mitteilt, dass sie das darauf folgende Argument als Kommando
ausführen soll. Standard für Unix Shells ist -c,
während COMMAND.COM und cmd.exe
/c erwarten. Wenn Sie Unix Tools unter Windows
verwenden und z.B. sh oder bash als
Shell angeben, dürfen Sie nicht vergessen, hier
-c anzugeben.
-
-serverhost <Host>
-
Gibt den Hostnamen des Rechners an, auf dem QF-Test
läuft. Normalerweise wird dieser automatisch ermittelt. Eventuell
müssen Sie ihn aber angeben, wenn Probleme mit der Namensauflösung
auftreten.
-
-sourcedir <Verzeichnis>
(nur Batchmodus)
-
Wird dieses Argument bei der Erstellung eines Reports angegeben, werden die Dateien
im Report entsprechend der Struktur der Testsuiten relativ zu diesem Verzeichnis
angelegt, sofern nicht gleichzeitig
-runlogdir <Verzeichnis> angegeben wird. In jedem Fall
wird das Verzeichnis einer Testsuite im Report nur dann aufgelistet, wenn dieses
Argument angegeben ist und die Testsuite sich unterhalb dieses Verzeichnis befindet.
-
-splitlog (batch mode only)
-
Im Batchmodus sind geteilte Protokolle (vgl. Abschnitt 9.1.4)
standardmäßig aktiviert. Sie können durch Angabe von
-splitlog=false
ausgeschaltet werden. Wird -splitlog explizit ohne Parameter angegeben, ändert
sich die Standard-Endung für Protokolle von .qrz in .qzp,
um geteilte Protokolle im ZIP Format zu erzeugen. Unabhängig davon kann die Endung
kann durch explizite Angabe beim Namen der Protokolls festgelegt werden.
-
-startclean
(nur Calldaemon-Modus)
-
Mit diesem Argument werden alle Context-Objekte des gemeinsamen TestRunDaemons aufgeräumt
bevor der Test ausgeführt wird.
-
-startsut
(nur zum internen Gebrauch)
-
Dieses Argument wird zum Starten eines Clients auf einem entfernten Rechner
verwendet. Sie sollten es nicht direkt verwenden, sondern ggf. auf die Prozedur
qfs.daemon.startRemoteSUT aus der Standardbibliothek
qfs.qft zurückgreifen.
-
-stopclean
(nur Calldaemon-Modus)
-
Mit diesem Argument werden alle Context-Objekte des gemeinsamen TestRunDaemons aufgeräumt
nachdem der Test ausgeführt wurde.
-
-stoprun
(nur Calldaemon-Modus)
-
Stoppt ein laufenden Test auf dem Daemon mit dem angegebenen Hostnamen und Port.
Dieses Argument kann mit
-cleanup oder -stopclean kombiniert werden.
-
-suitedir <Verzeichnis>
(nur Calldaemon-Modus)
-
Geben Sie ein Verzeichnis auf dem Daemon-Rechner an, wo der QF-Test Daemon nach
Testsuiten sucht. Andernfalls kann beim auszuführenden Test auch ein absoluter
Pfad angegeben werden.
-
-systemcfg <Datei>
-
Legt die Konfigurationsdatei für Systemeinstellungen fest (siehe
Abschnitt 1.4).
-
-tempdir <Verzeichnis> (nur normaler Modus)
-
Kann unter Windows benötigt werden, um temporäre Dateien für die
kontextsensitive Hilfe anzulegen. Normalerweise werden die
Umgebungsvariablen
TEMP und TMP
ausgewertet.
-
-terminate
(nur Calldaemon-Modus)
-
Mit dieser Option wird der QF-Test Daemon (nach Ausführung des Tests) beendet.
-
-test <Index>|<Id> (nur Batchmodus)
-
Ohne diese Angabe werden die Tests der Suite einer nach
dem anderen ausgeführt. Durch die Angabe von
-test <Index>|<Id> können Sie
gezielt einzelne Tests herauspicken. Einen beliebigen Knoten der
Testsuite, der sich nicht auf der obersten Ebene befinden muss,
können Sie über seine 'Id' auswählen oder im Falle von
'Testfall' or 'Testfallsatz' Knoten auch über seinen
qualifizierten Namen. Die Tests auf der obersten Ebene
sind zudem über einen numerischen Wert ansprechbar,
wobei der erste Test den Index 0 hat. Sie können -test <Index>|<Id>
beliebig oft angeben, auch mehrfach mit demselben Wert.
-
-testdoc <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test HTML und XML Testdoc Dokumentation. Ist kein
Verzeichnis angegeben wird der Name aus dem Namen der Testsuite gebildet.
-
-testdoc.doctags
(nur Batchmodus)
-
Legt fest, ob die doctags Erweiterungen von QFS verwendet werden. Standard ist
ja, mit
-testdoc.doctags=false können die doctags
ausgeschaltet werden.
-
-testdoc.followcalls
(nur Batchmodus)
-
Normalerweise ignoriert QF-Test 'Testaufruf' Knoten bei der Testdoc Generierung.
Mit diesem Argument werden die referenzierten Ziele, also 'Testfall', 'Testfallsatz'
oder ganze Testsuite, so eingebunden, als wären sie Teil der Ausgangssuite. Hierdurch
ist es möglich, partielle Testdoc Dokumente mit Hilfe einer dedizierten Testsuite zu
erstellen, die 'Testaufrufe' für die benötigten Teile enthält.
-
-testdoc.html <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test HTML Testdoc Dokumentation. Ist kein Verzeichnis
angegeben, wird der Name aus dem Namen der Testsuite gebildet.
-
-testdoc.nodeicons
(nur Batchmodus)
-
Legt fest, ob Icons für Knoten in der Testdoc Dokumentation angezeigt werden. Standard ist
ja, mit
-testdoc.nodeicons=false können die Icons
ausgeschaltet werden.
-
-testdoc.passhtml
(nur Batchmodus)
-
Legt fest, ob HTML Tags in Kommentaren unverändert an die HTML Dokumentation
durchgereicht werden. Standard ist ja, mit
-testdoc.passhtml=false
können die Tags ausgeschaltet werden.
-
-testdoc.sorttestsets
(nur Batchmodus)
-
Legt fest, ob Testfallsätze alphabetisch sortiert werden. Standard ist ja, mit
-testdoc.sorttestsets=false kann die Sortierung ausgeschaltet werden.
-
-testdoc.sorttestcases
(nur Batchmodus)
-
Legt fest, ob Testfälle alphabetisch sortiert werden. Standard ist ja, mit
-testdoc.sorttestcases=false kann die Sortierung ausgeschaltet werden.
-
-testdoc.splitparagraph
(nur Batchmodus)
-
Legt fest, ob Kommentare an Leerzeilen in Absätze aufgeteilt werden.
Standard ist ja, mit
-testdoc.splitparagraph=false können Sie
die Option ausschalten.
-
-testdoc.stylesheet <Datei>
(nur Batchmodus)
-
Optionales XSLT Stylesheet für die zweite Stufe der Transformation.
-
-testdoc.teststeps
(nur Batchmodus)
-
Legt fest, ob Testschritte in der Testdoc Dokumentation aufgelistet werden. Standard
ist ja, mit
-testdoc.teststeps=false können die
Testschritte ausgeschaltet werden.
-
-testdoc.xml <Verzeichnis> (nur Batchmodus)
-
Mit diesem Argument erstellt QF-Test XML Testdoc Dokumentation. Ist kein Verzeichnis
angegeben, wird der Name aus dem Namen der Testsuite gebildet.
-
-threads <Anzahl> (batch mode only)
-
Führt des selbe Testsuite in einer Anzahl von parallelen Threads zur Durchführung
von Lasttests aus. Pro Thread wird eine Lizenz benötigt, daher sollte normalerweise
das Argument
-runtime ebenfalls angegeben werden. Näheres zu Lasttests
finden Sie in Kapitel 21.
-
-timeout <Millisekunden>
(nur Calldaemon-Modus)
-
Maximale Dauer eines Tests, der vom QF-Test Daemon ausgeführt wird (in Millisekunden;
Vorgabe ist unendlich).
-
-usercfg <Datei> (nur normaler Modus)
-
Legt die Konfigurationsdatei für Benutzereinstellungen fest (siehe
Abschnitt 1.4).
-
-variable <Name>=<Wert>
-
Durch die Angabe von
-variable <Name>=<Wert> geben Sie der Variable
<Name> den Wert <Wert>
(vgl. Kapitel 8). Sie können beliebig viele
Variablen definieren.
-
-verbose [<level>]
-
Ausgabe von Fortschritts- und Statusinformationen während eines Testlaufs auf der
Konsole. Diese Option ist insbesondere dann sinnvoll, wenn der Test via
-calldaemon auf einem anderen Rechner ausgeführt wird und daher die
Ausführung u.U. nicht so einfach verfolgt werden kann. Unter Windows muss man
allerdings qftestc.exe (anstelle von qftest.exe)
verwenden, um die Ausgaben zu sehen. Die Angabe eines Levels ist optional,
mögliche Werte sind all (alle Knoten ausgeben) und tests
(Vorgabe; nur 'Testfallsatz', 'Testfall' und 'Test' Knoten werden ausgegeben).
Jeder dieser Werte kann zusätzlich mit errors (Ausgabe von Fehler-
und Exceptionmeldungen) kombiniert werden, etwa tests,errors.
-
-version
-
Hiermit gibt QF-Test Versionsinformationen aus und
beendet sich dann.
Im Dateinamen, der bei den Kommandozeilenargumenten -runid [<ID>], -runlog [<Datei>],
-runlogdir <Verzeichnis>, -report <Verzeichnis>, -report.html <Verzeichnis>, -report.name <Name>,
-report.xml <Verzeichnis> oder -report.junit <Verzeichnis>
angegeben
werden kann, können Platzhalter der Form %X oder +X verwendet werden (letzteres muss
unter Windows verwendet werden, da % Zeichen dort besondere Bedeutung haben), wobei X
für ein Zeichen aus der folgenden Tabelle steht. Wenn das Protokoll oder der Report
erstellt werden, setzt QF-Test den entsprechenden Wert ein. Alle Zeitwerte beziehen sich
auf die Startzeit des Testlaufs.
Hinweis Werden mehrere Testsuites ausgeführt, sollten Sie auf jeden
Fall den Namen der Suite als Teil des Namens für das Protokoll oder den Report
verwenden, indem Sie %b angeben. Andernfalls wird eventuell nur ein Protokoll oder
Report entsprechend der Ausführung der letzten Testsuite erstellt.
|
|
| Zeichen |
Bedeutung |
| % |
'%'-Zeichen. |
| + |
'+'-Zeichen. |
| i |
Die aktuelle Runid wie mit -runid [<ID>] angegeben. |
| p |
Das Verzeichnis der Testsuite relativ zu -sourcedir <Verzeichnis> oder absolut falls
-sourcedir <Verzeichnis> nicht angegeben ist. Ist -sourcedir <Verzeichnis> angegeben, die Testsuite
aber nicht darunter enthalten, ist dieser Wert leer.
|
| P |
Das absolute Verzeichnis der Testsuite. Darf nur am Anfang stehen.
|
| b |
Der Name der Testsuite ohne Verzeichnis oder die Endung .qft. |
| r |
Der Rückgabewert des Testlaufs (nur -runlog). |
| w |
Die Anzahl der Warnungen im Testlauf (nur -runlog). |
| e |
Die Anzahl der Fehler im Testlauf (nur -runlog). |
| x |
Die Anzahl der Exceptions im Testlauf (nur -runlog). |
| y |
Das aktuelle Jahr (2 Ziffern). |
| Y |
Das aktuelle Jahr (4 Ziffern). |
| M |
Der aktuelle Monat (2 Ziffern). |
| d |
Der aktuelle Tag (2 Ziffern). |
| h |
Die aktuelle Stunde (2 Ziffern). |
| m |
Die aktuelle Minute (2 Ziffern). |
| s |
Die aktuelle Sekunde (2 Ziffern). |
|
|
| | Tabelle 32.1: Platzhalter im Dateinamen Parameter | |
Wenn Sie also zum Beispiel das Protokoll in ein Verzeichnis namens
logs unterhalb des Verzeichnisses der Testsuite
schreiben und dabei einen Zeitstempel und den Rückgabewert
erhalten wollen, verwenden Sie
-runlog %p/logs/%b-%y%M%d-%h%m%s-%r.qrl
Hinweis Die Platzhalter %b, %p und %P können auch für kollektive
Parameter wir runid oder report verwendet werden. Wirklich Sinn macht das nur, falls
nur eine einzelne Testsuite verarbeitet wird. Im Fall mehrerer Testsuites wird für
diesen Fall der Name der ersten Testuite herangezogen.
Wird QF-Test im normalen Modus ausgeführt, besitzt der Rückgabewert
keine besondere Aussagekraft. Er ist entweder negativ, falls
QF-Test nicht richtig startet, oder 0.
Im Batchmodus drückt der Rückgabewert dagegen das Ergebnis
des Testlaufs aus. Negative Werte stehen für Fehler, die verhindern,
dass der Test überhaupt gestartet wird, 0 für einen fehlerfreien
Durchgang und positive Werte für Fehler während des Tests. Manche
Systeme unterstützen nur Rückgabewerte zwischen 0 und 255. In diesem
Fall sind alle Werte modulo 256 zu sehen, also -1=255, -2=254 etc.
Die folgenden Rückgabewerte sind zur Zeit
definiert:
|
|
| Wert |
Bedeutung |
| 0 |
Alles OK |
| 1 |
Beim Testlauf sind Warnungen aufgetreten |
| 2 |
Beim Testlauf sind Fehler aufgetreten |
| 3 |
Beim Testlauf sind Exceptions aufgetreten |
| -1 |
Unerwartete Exception |
| -2 |
Falsche Kommandozeilenargumente |
| -3 |
Keine oder ungültige Lizenz |
| -4 |
Fehler beim Aufbau der RMI Verbindung |
| -5 |
Fehler beim Laden der Suite |
| -6 |
Die Suite enthält keine Tests |
|
|
| | Tabelle 32.2: Rückgabewerte von QF-Test | |
Daneben gibt es spezielle Rückgabewerte, wenn QF-Test mit dem Argument
-calldaemon ausgeführt wird:
|
|
| Wert |
Bedeutung |
| -7 |
Der Daemon konnte nicht gefunden werden |
| -8 |
Fehler beim Erstellen eines TestRunDaemon-Objekts |
| -9 |
Fehler beim Erstellen eines Context-Objekts |
| -10 |
Der Test konnte nicht gestartet werden |
| -11 |
Der Test wurde innerhalb des angegeben Timeouts nicht beendet |
|
|
| | Tabelle 32.3: calldaemon-Rückgabewerte von QF-Test | |