FehlerberichtCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
java.lang.Object | |
➔ | com.android.tradefed.result.BugreportCollector |
Eine weiterleitende ITestInvocationListener
, die Fehlerberichte erfasst, wenn konfigurierbare Ereignisse auftreten, und dann nach jedem erfassten Fehlerbericht ITestInvocationListener#testLog
auf ihre untergeordneten Elemente anwendet.
Verhaltensweisen: (FIXME: finish this)
- Nach jedem fehlgeschlagenen Testfall erfassen
- Nach jedem Testfall erfassen
- Nach jedem fehlgeschlagenen Testfall erfassen
- Aufnehmen
Zusammenfassung
Verschachtelte Klassen | |
---|---|
class |
BugreportCollector.Predicate
Ein vollständiges Prädikat, das beschreibt, wann ein Fehlerbericht erfasst werden soll. |
interface |
BugreportCollector.SubPredicate
|
Felder | |
---|---|
public
static
final
BugreportCollector.Predicate |
AFTER_FAILED_TESTCASES
Ein vordefiniertes Prädikat, das nach jedem fehlgeschlagenen Testfall ausgelöst wird |
public
static
final
BugreportCollector.Predicate |
AT_START
Ein vordefiniertes Prädikat, das beim Beginn des ersten Aufrufs ausgelöst wird |
Öffentliche Konstruktoren | |
---|---|
BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)
|
Öffentliche Methoden | |
---|---|
void
|
addPredicate(BugreportCollector.Predicate p)
|
void
|
blockUntilIdle()
Blockieren Sie den Dienst, bis keine Fehlerberichte mehr erfasst werden. |
TestSummary
|
getSummary()
Ermöglicht es dem InvocationListener, eine Zusammenfassung zurückzugeben. |
void
|
invocationEnded(long elapsedTime)
Gibt an, ob die Aufrufe erfolgreich oder aufgrund eines Fehlers beendet wurden. |
void
|
invocationFailed(Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung. |
void
|
invocationStarted(IInvocationContext context)
Gibt den Beginn der Testausführung an. |
void
|
setAsynchronous(boolean asynchronous)
Legen Sie fest, ob der Fehlerbericht in einem anderen Thread erfasst werden soll ( |
void
|
setDescriptiveName(String name)
Legen Sie den aussagekräftigen Namen fest, der beim Erfassen von Fehlerberichten verwendet werden soll. |
void
|
setDeviceWaitTime(int waitTime)
Legen Sie die Zeit in Sekunden fest, die gewartet werden soll, bis das Gerät online ist, bevor versucht wird, einen Fehlerbericht zu erstellen. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Wird aufgerufen, wenn ein Atomtest meldet, dass eine Bedingung falsch ist |
void
|
testEnded(TestDescription test,
Gibt das Ende der Ausführung eines einzelnen Testfalls an. |
void
|
testFailed(TestDescription test, String trace)
Hier wird der Fehler eines einzelnen Testfalls gemeldet. |
void
|
testIgnored(TestDescription test)
Wird aufgerufen, wenn ein Test nicht ausgeführt wird, in der Regel weil eine Testmethode mit org.junit.Ignore annotiert ist. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Enthält die zugehörigen Protokoll- oder Debug-Daten aus der Testausführung. |
void
|
testRunEnded(long elapsedTime,
Gibt das Ende des Testlaufs an. |
void
|
testRunFailed(String errorMessage)
Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden. |
void
|
testRunStarted(String runName, int testCount)
Gibt den Beginn eines Testlaufs an. |
void
|
testRunStopped(long elapsedTime)
Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vorzeitig beendet. |
void
|
testStarted(TestDescription test)
Gibt den Beginn eines einzelnen Testfalls an. |
Felder
AFTER_FAILED_TESTCASES
public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES
Ein vordefiniertes Prädikat, das nach jedem fehlgeschlagenen Testfall ausgelöst wird
AT_START
public static final BugreportCollector.Predicate AT_START
Ein vordefiniertes Prädikat, das beim Beginn der ersten Aufrufs ausgelöst wird
Öffentliche Konstruktoren
FehlerberichtCollector
public BugreportCollector (ITestInvocationListener listener, ITestDevice testDevice)
Parameter | |
---|---|
listener |
ITestInvocationListener |
testDevice |
ITestDevice |
Öffentliche Methoden
addPredicate
public void addPredicate (BugreportCollector.Predicate p)
Parameter | |
---|---|
p |
BugreportCollector.Predicate |
blockUntilIdle
public void blockUntilIdle ()
Blockieren Sie den Dienst, bis keine Fehlerberichte mehr erfasst werden. Wenn der Collector keinen Fehlerbericht erfasst, sofort zurückgeben
getSummary
public TestSummary getSummary ()
Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.
Returns | |
---|---|
TestSummary |
Eine TestSummary , die den Lauf zusammenfasst, oder „null“ |
invocationEnded
public void invocationEnded (long elapsedTime)
Gibt an, ob die Aufrufe erfolgreich oder aufgrund eines Fehlers beendet wurden.
Wird automatisch vom TradeFederation-Framework aufgerufen.
Parameter | |
---|---|
elapsedTime |
long : die verstrichene Zeit seit der Aufrufung in ms |
invocationFailed
public void invocationFailed (Throwable cause)
Eine unvollständige Aufrufung wird aufgrund einer Fehlerbedingung gemeldet.
Wird automatisch vom TradeFederation-Framework aufgerufen.
Parameter | |
---|---|
cause |
Throwable : die Throwable Ursache des Fehlers |
callStarted
public void invocationStarted (IInvocationContext context)
Gibt den Beginn der Testausführung an.
Wird automatisch vom TradeFederation-Framework aufgerufen. Reporter müssen diese Methode überschreiben, damit die Berichterstellung für mehrere Geräte unterstützt wird.
Parameter | |
---|---|
context |
IInvocationContext : Informationen zum Aufruf |
setAsynchronous
public void setAsynchronous (boolean asynchronous)
Legen Sie fest, ob der Fehlerbericht in einem anderen Thread erfasst werden soll (asynchronous = true
) oder ob der Anrufer blockiert werden soll, bis der Fehlerbericht erfasst wurde (asynchronous = false
).
Parameter | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
Legen Sie den aussagekräftigen Namen fest, der beim Erfassen von Fehlerberichten verwendet werden soll. Wenn null
festgelegt ist, wird BugreportCollector
auf das Standardverhalten zurückgesetzt, bei dem der Name des Ereignisses, das zum Erfassen des Fehlerberichts geführt hat, serialisiert wird.
Parameter | |
---|---|
name |
String |
setDeviceWartezeit
public void setDeviceWaitTime (int waitTime)
Legen Sie die Zeit in Sekunden fest, die gewartet werden soll, bis das Gerät online ist, bevor versucht wird, einen Fehlerbericht zu erfassen. Andernfalls erfolgt keine Prüfung. Alle während dieser Prüfung gefundenen DeviceNotAvailableException
werden protokolliert und ignoriert.
Parameter | |
---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Wird aufgerufen, wenn ein atomarer Test meldet, dass eine Bedingung angenommen wird, die falsch ist.
Parameter | |
---|---|
test |
TestDescription : identifiziert den Test |
trace |
String : Stack-Trace des Fehlers |
testEnded
public void testEnded (TestDescription test,testMetrics)
Meldet das Ausführungsende eines einzelnen Testlaufs.
Wenn testFailed(TestDescription, FailureDescription)
nicht aufgerufen wurde, ist dieser Test erfolgreich. Gibt außerdem alle Schlüssel/Wert-Messwerte zurück, die möglicherweise während der Ausführung des Testlaufs ausgegeben wurden.
Parameter | |
---|---|
test |
TestDescription : identifiziert den Test |
testMetrics |
: ein ERROR(/Map) der ausgegebenen Messwerte |
testFailed
public void testFailed (TestDescription test, String trace)
Hier wird der Fehler eines einzelnen Testfalls gemeldet.
Wird zwischen „testStarted“ und „testEnded“ aufgerufen.
Parameter | |
---|---|
test |
TestDescription : identifiziert den Test |
trace |
String : Stack-Trace des Fehlers |
testIgnored
public void testIgnored (TestDescription test)
Wird aufgerufen, wenn ein Test nicht ausgeführt wird, in der Regel weil eine Testmethode mit org.junit.Ignore annotiert ist.
Parameter | |
---|---|
test |
TestDescription : identifiziert den Test |
Test-Log
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
Enthält die zugehörigen Protokoll- oder Debug-Daten aus der Testausführung.
Muss vor dem ERROR(/ITestInvocationListener#invocationFailed(Throwable))
oder ERROR(/ITestInvocationListener#invocationEnded(long))
aufgerufen werden
Das TradeFederation-Framework ruft diese Methode automatisch auf und gibt das Hostprotokoll und gegebenenfalls den Geräte-Logcat an.
Parameter | |
---|---|
dataName |
String : Ein String aussagekräftiger Name für die Daten, z. B. „device_logcat“. Hinweis: dataName darf pro Aufruf nicht eindeutig sein. Implementierer müssen also mehrere Aufrufe mit demselben dataName verarbeiten können. |
dataType |
LogDataType : die LogDataType der Daten |
dataStream |
InputStreamSource : die InputStreamSource der Daten. Implementer müssen createInputStream aufrufen, um mit dem Lesen der Daten zu beginnen, und den resultierenden InputStream nach Abschluss schließen. Die Aufrufer müssen dafür sorgen, dass die Datenquelle bis zum Abschluss der testLog-Methode vorhanden und zugänglich ist. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
Gibt das Ende des Testlaufs an.
Parameter | |
---|---|
elapsedTime |
long : Vom Gerät gemeldete verstrichene Zeit in Millisekunden |
runMetrics |
: Schlüssel/Wert-Paare, die am Ende eines Testlaufs erfasst werden |
testRunFailed
public void testRunFailed (String errorMessage)
Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.
Parameter | |
---|---|
errorMessage |
String : String mit einer Beschreibung des Grunds für den Ausführungsfehler. |
testRunStarted
public void testRunStarted (String runName, int testCount)
Gibt den Beginn eines Testlaufs an.
Parameter | |
---|---|
runName |
String : der Name des Testlaufs |
testCount |
int : Gesamtzahl der Tests im Testlauf |
testRunStopped
public void testRunStopped (long elapsedTime)
Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vorzeitig beendet.
TODO: currently unused, consider removing
Parameter | |
---|---|
elapsedTime |
long : Vom Gerät gemeldete verstrichene Zeit in Millisekunden |
testgestartet
public void testStarted (TestDescription test)
Gibt den Beginn eines einzelnen Testfalls an. Ältere Benutzeroberfläche. Verwenden Sie nach Möglichkeit testStarted(com.android.tradefed.result.TestDescription)
.
Parameter | |
---|---|
test |
TestDescription : identifiziert den Test |