FehlerberichtCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
java.lang.Object | |
😎 | com.android.tradefed.result.BugreportCollector |
Durchlauf-ITestInvocationListener
, die Fehlerberichte erfasst, wenn konfigurierbare Ereignisse
und ruft dann nach jedem untergeordneten Element ITestInvocationListener#testLog
für die untergeordneten Elemente auf.
Fehlerbericht erfasst wird.
Verhaltensweisen: (PROBLEM: fertigstellen)
- Nach jedem Test erfassen, wenn Testläufe fehlgeschlagen sind
- Nach jedem Testfall erfassen
- Nach jedem fehlgeschlagenen Testlauf 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, bis der Collector keine Fehlerberichte erfasst. |
TestSummary
|
getSummary()
Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben. |
void
|
invocationEnded(long elapsedTime)
Meldet, dass der Aufruf beendet wurde, ob erfolgreich oder aufgrund eines Fehlers . |
void
|
invocationFailed(Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung. |
void
|
invocationStarted(IInvocationContext context)
Meldet den Beginn des Testaufrufs. |
void
|
setAsynchronous(boolean asynchronous)
Legen Sie fest, ob der Fehlerbericht in einem anderen Thread erfasst werden soll
( |
void
|
setDescriptiveName(String name)
Legen Sie einen beschreibenden Namen für die Aufzeichnung von Fehlerberichten fest. |
void
|
setDeviceWaitTime(int waitTime)
Stellen Sie ein, wie lange (in Sekunden) gewartet werden soll, bis das Gerät online ist, bevor wir versuchen, ein Ereignis zu erfassen. Fehlerbericht erstellen. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Wird aufgerufen, wenn ein Atomtest meldet, dass eine Bedingung falsch ist |
void
|
testEnded(TestDescription test,
Meldet das Ausführungsende eines einzelnen Testlaufs. |
void
|
testFailed(TestDescription test, String trace)
Meldet das Scheitern eines einzelnen Testlaufs. |
void
|
testIgnored(TestDescription test)
Wird aufgerufen, wenn ein Test nicht ausgeführt wird. Dies ist im Allgemeinen der Fall, weil eine Testmethode mit org.junit.Ignorieren. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Stellt die zugehörigen Log- oder Debug-Daten aus dem Testaufruf bereit. |
void
|
testRunEnded(long elapsedTime,
Ende des Testlaufs für Berichte. |
void
|
testRunFailed(String errorMessage)
Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden. |
void
|
testRunStarted(String runName, int testCount)
Meldet den Start eines Testlaufs. |
void
|
testRunStopped(long elapsedTime)
Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vor dem Abschluss gestoppt. |
void
|
testStarted(TestDescription test)
Meldet den Beginn eines einzelnen Testlaufs. |
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 des 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, bis der Collector keine Fehlerberichte erfasst. Wenn der Collector nicht aktiv Fehlerbericht abrufen, sofort zurückkehren
GetSummary
public TestSummary getSummary ()
Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.
Returns | |
---|---|
TestSummary |
Ein TestSummary für die Zusammenfassung der Ausführung oder null |
Aufrufende beendet
public void invocationEnded (long elapsedTime)
Meldet, dass der Aufruf beendet wurde, ob erfolgreich oder aufgrund eines Fehlers .
Wird automatisch vom TradeFederation-Framework aufgerufen.
Parameter | |
---|---|
elapsedTime |
long : die verstrichene Zeit des Aufrufs in ms |
CallFailed (Aufruf fehlgeschlagen)
public void invocationFailed (Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung.
Wird automatisch vom TradeFederation-Framework aufgerufen.
Parameter | |
---|---|
cause |
Throwable : die Throwable -Ursache des Fehlers |
callStarted
public void invocationStarted (IInvocationContext context)
Meldet den Beginn des Testaufrufs.
Wird automatisch vom TradeFederation-Framework aufgerufen. Reporter müssen die um Berichte für mehrere Geräte zu erstellen.
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 blockiere den Anrufer, bis der Fehlerbericht erfasst wird
(asynchronous = false
)
Parameter | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
Legen Sie einen beschreibenden Namen für die Aufzeichnung von Fehlerberichten fest. Wenn null
,
BugreportCollector
greift auf das Standardverhalten bei der Serialisierung des Namens
Das Ereignis, das zur Erstellung des Fehlerberichts geführt hat.
Parameter | |
---|---|
name |
String |
setDeviceWartezeit
public void setDeviceWaitTime (int waitTime)
Stellen Sie ein, wie lange (in Sekunden) gewartet werden soll, bis das Gerät online ist, bevor wir versuchen, ein Ereignis zu erfassen.
Fehlerbericht erstellen. Im Fall eines negativen Werts wird keine Prüfung durchgeführt. Beliebige DeviceNotAvailableException
werden protokolliert und ignoriert.
Parameter | |
---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Wird aufgerufen, wenn ein Atomtest meldet, dass eine Bedingung falsch ist
Parameter | |
---|---|
test |
TestDescription : Identifiziert den Test |
trace |
String : Stacktrace des Fehlers |
TestBeendet
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 auch beliebige Schlüssel/Wert-Paare zurück
Messwerte, 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 |
TestFehlgeschlagen
public void testFailed (TestDescription test, String trace)
Meldet das Scheitern eines einzelnen Testlaufs.
Wird zwischen testStarted und testEnded aufgerufen.
Parameter | |
---|---|
test |
TestDescription : Identifiziert den Test |
trace |
String : Stacktrace des Fehlers |
testIgnoriert
public void testIgnored (TestDescription test)
Wird aufgerufen, wenn ein Test nicht ausgeführt wird. Dies ist im Allgemeinen der Fall, weil eine Testmethode mit org.junit.Ignorieren.
Parameter | |
---|---|
test |
TestDescription : Identifiziert den Test |
testLog
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
Stellt die zugehörigen Log- oder Debug-Daten aus dem Testaufruf bereit.
Muss vor ERROR(/ITestInvocationListener#invocationFailed(Throwable))
aufgerufen werden oder
ERROR(/ITestInvocationListener#invocationEnded(long))
Das TradeFederation-Framework ruft diese Methode automatisch auf und stellt das Host-Protokoll bereit. und ggf. den Geräte-Logcat.
Parameter | |
---|---|
dataName |
String : Ein beschreibender String -Name der Daten. z.B. „device_logcat“. Hinweis
dataName darf pro Aufruf nicht eindeutig sein. d. h. Implementierungsteams müssen
Mehrere Aufrufe mit demselben dataName |
dataType |
LogDataType : die LogDataType der Daten |
dataStream |
InputStreamSource : die InputStreamSource der Daten. Implementierungslösungen sollten
createInputStream, um mit dem Lesen der Daten zu beginnen und sicherzustellen, dass das resultierende
InputStream, wenn abgeschlossen ist. Anrufer sollten dafür sorgen, dass die Datenquelle nicht verloren geht.
vorhanden und zugänglich sind, bis die testLog-Methode abgeschlossen ist. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
Ende des Testlaufs für Berichte. PROBLEM: Es können nicht zwei Karten verwendet werden.<> mit unterschiedlichen Typen. Wir müssen hier HashMap verwenden.
Parameter | |
---|---|
elapsedTime |
long : Gerät hat die verstrichene Zeit in Millisekunden gemeldet |
runMetrics |
: Schlüssel/Wert-Paare, die am Ende eines Testlaufs mit Metric gemeldet werden. |
testRunFailed (Testlauf fehlgeschlagen)
public void testRunFailed (String errorMessage)
Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.
Parameter | |
---|---|
errorMessage |
String : String , die den Grund für den Ausführungsfehler beschreibt. |
testRunStarted
public void testRunStarted (String runName, int testCount)
Meldet den Start eines Testlaufs.
Parameter | |
---|---|
runName |
String : der Name der Testausführung |
testCount |
int : Gesamtzahl der Tests im Testlauf |
testRunStopped
public void testRunStopped (long elapsedTime)
Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vor dem Abschluss gestoppt.
AUFGABE: Derzeit nicht verwendet, entfernen Sie eventuell
Parameter | |
---|---|
elapsedTime |
long : Gerät hat die verstrichene Zeit in Millisekunden gemeldet |
testgestartet
public void testStarted (TestDescription test)
Meldet den Beginn eines einzelnen Testlaufs. Ältere Benutzeroberfläche; sollte nach Möglichkeit testStarted(com.android.tradefed.result.TestDescription)
verwendet werden.
Parameter | |
---|---|
test |
TestDescription : Identifiziert den Test |