Einmal beim aktuellen Runcontext via rc.addTestRunListener
registriert,
wird eine Implementierung des TestRunListener
Interfaces benachrichtigt,
wenn ein Knoten betreten oder verlassen wird oder wenn Probleme auftreten. Ein
illustratives Beispiel finden Sie in der Testsuite TestRunListener.qft
im
Verzeichnis demo/runlistener
Ihrer QF-Test Installation. Am besten
deaktivieren Sie den Debugger, bevor Sie diese Testsuite komplett ausführen.
Hinweis Eine Variante des TestRunListener
Interfaces namens
DaemonTestRunListener
kann verwendet werden, um einen Testlauf über das
Daemon API zu beobachten. Es wird in Abschnitt 54.2.5 näher beschrieben.
Die API besteht aus den folgenden Klassen:
Das Interface de.qfs.apps.qftest.extensions.qftest.TestRunListener
muss
implementiert und via rc.addTestRunListener()
beim aktuellen Runcontext
registriert werden.
Hinweis
Zur Implementierung des Interfaces können Sie von der Klasse
de.qfs.apps.qftest.extensions.qftest.AbstractTestRunListener
ableiten, die für alle Methoden leere Implementierungen bereitstellt, so
dass Sie nur die Methoden implementieren müssen, die Sie interessieren.
|
| | void nodeEntered(TestRunEvent event) | |
Parameter | event |
Der Event mit den Details.
| |
| void nodeExited(TestRunEvent event) | |
Parameter | event |
Der Event mit den Details.
| |
| void problemOccurred(TestRunEvent event) | |
Parameter | event |
Der Event mit den Details.
| |
| void runStarted(TestRunEvent event) | |
Parameter | event |
Der Event mit den Details, in diesem Fall irrelevant.
| |
| void runStopped(TestRunEvent event) | |
Parameter | event |
Der Event mit den Details, in diesem Fall irrelevant.
| |
|
|
|
Die Klasse de.qfs.apps.qftest.extensions.qftest.TestRunEvent
beinhaltet
Informationen über die aktuell ausgeführten Knoten und den aktuellen Fehlerzustand.
Sie definiert die folgenden Konstanten für Ausführungs- und Fehlerzustände:
STATE_NOT_IMPLEMENTED
, STATE_SKIPPED
, STATE_OK
,
STATE_WARNING
, STATE_ERROR
und STATE_EXCEPTION
.
Die beiden ersten Zustände kommen nur bei 'Testfallsatz' und 'Testfall' Knoten
vor.
In der runStopped
Methode können Sie auch abfragen,
ob der Testlauf normal beendet oder unterbrochen wurde. Hierfür
können Sie die Konstanten STATE_RUN_TERMINATED
und
STATE_RUN_INTERRUPTED
verwenden.
|
| | JsonObject asJsonValue() | |
Rückgabewert |
Das Event als JsonObject .
| | int getErrors() | |
Rückgabewert |
Die Gesamtzahl der Fehler für den gerade verlassenen Knoten. Verfügbar nur für
nodeExited .
| | int getExceptions() | |
Rückgabewert |
Die Gesamtzahl der Exceptions für den gerade verlassenen Knoten. Verfügbar nur für
nodeExited .
| | int getLocalState() | |
Rückgabewert |
Der lokale Status für den aktuellen Knoten. Dies ist der höchste Fehlerzustand
dieses Knotens und all seiner Kinder, unabhängig davon ob dieser weiter nach oben
propagiert. Verfügbar nur für nodeExited und
problemOccurred . Für 'Testfallsatz' und 'Testfall' Knoten kann der
lokale Staus auch STATE_SKIPPED oder
STATE_NOT_IMPLEMENTED sein.
| | String getMessage() | |
Rückgabewert |
Die Meldung für die aktuelle Warnung, Fehler oder Exception. Verfügbar nur für
problemOccurred .
| | TestSuiteNode getNode() | |
Rückgabewert |
Der aktuelle Knoten oder null für runStarted und
runStopped .
| | TestSuiteNode[] getPath() | |
Rückgabewert |
Der Pfad für den aktuellen Knoten aus Sicht des Protokolls, vergleichbar mit dem
Ausführungs-Stapel. Null für runStarted und runStopped .
Der letzte Knoten im Array ist der aktuelle Knoten.
| | int getState() | |
Rückgabewert |
Der propagierende Status für den aktuellen Knoten. Dies ist der höchste
Fehlerzustand dieses Knotens und all seiner Kinder, möglicherweise beschränkt
durch ein Attribut 'Maximaler Fehler'. Verfügbar nur für
nodeExited und problemOccurred .
| | int getWarnings() | |
Rückgabewert |
Die Gesamtzahl der Warnungen für den gerade verlassenen Knoten. Verfügbar nur für
nodeExited .
| |
|
|
Die Klasse de.qfs.apps.qftest.extensions.qftest.TestSuiteNode
repräsentiert einen aktuell ausgeführten QF-Test Knoten. Sie beinhaltet Informationen
über die Art des Knotens, seinen Namen, Kommentar, etc.
|
| | JsonObject asJsonValue() | |
Rückgabewert |
Der Knoten als JsonObject .
| | String getComment() | |
Rückgabewert | Die expandierte Bemerkung des Knotens. | | String getComponentId() | |
Rückgabewert | Die expandierte QF-Test ID der Komponente des Knotens. | | String getExpandedTreeName() | |
Rückgabewert |
Der Name des Knotens, wie er im Baum der Testsuite dargestellt wird,
wobei Variablen durch deren Inhalt ersetzt sind.
| | String getId() | |
Rückgabewert | Die QF-Test ID des Knotens. | | String getName() | |
Rückgabewert |
Der Name des Knotens oder null, falls dieser kein Attribut 'Name' besitzt.
| | String getReportName() | |
Rückgabewert |
Der expandierte Reportname für 'Testfallsatz' und 'Testfall' Knoten. Der
normale Name für andere Knoten oder null falls nicht definiert.
| | String getSuite() | |
Rückgabewert | Der komplette Pfad der Testsuite, zu der der Knoten gehört. | | String getTreeName() | |
Rückgabewert |
Der Name des Knotens wie er im Baum der Testsuite dargestellt wird.
| | String getType() | |
Rückgabewert |
Die Art des Knotens. Dies ist der letzte Teil des Namens der Klasse, die diesen
Knoten implementiert.
| | String getVerboseReportName() | |
Rückgabewert |
Der expandierte Reportname für 'Testfallsatz' und 'Testfall' Knoten.
Falls nicht vorhanden wird der expandierte Knotennamen zurückgegeben.
| |
|
|