BugreportCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.BugreportCollector |
Ein Pass-Through-ITestInvocationListener, das Fehlerberichte erfasst, wenn konfigurierbare Ereignisse auftreten, und dann ITestInvocationListener.testLog für seine untergeordneten Elemente aufruft, nachdem jeder Fehlerbericht erfasst wurde.
Verhalten: (FIXME: finish this)
- Nach jedem Testlauf erfassen, wenn Testläufe fehlgeschlagen sind
- Nach jedem Testlauf aufzeichnen
- Nach jedem fehlgeschlagenen Testlauf aufzeichnen
- 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 Testlauf ausgelöst wird |
public
static
final
BugreportCollector.Predicate |
AT_START
Ein vordefiniertes Prädikat, das ausgelöst wird, wenn der erste Aufruf beginnt |
Öffentliche Konstruktoren | |
|---|---|
BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)
|
|
Öffentliche Methoden | |
|---|---|
void
|
addPredicate(BugreportCollector.Predicate p)
|
void
|
blockUntilIdle()
Blockieren, bis der Collector keine Fehlerberichte mehr erfasst. |
TestSummary
|
getSummary()
Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben. |
void
|
invocationEnded(long elapsedTime)
Gibt an, dass der Aufruf beendet wurde, entweder erfolgreich oder aufgrund eines Fehlerzustands. |
void
|
invocationFailed(Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands. |
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 den beschreibenden Namen fest, der beim Aufzeichnen 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 wir versuchen, einen Fehlerbericht zu erfassen. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Wird aufgerufen, wenn ein atomarer Test meldet, dass er eine Bedingung voraussetzt, die nicht erfüllt ist. |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Meldet das Ende der Ausführung eines einzelnen Testlaufs. |
void
|
testFailed(TestDescription test, String trace)
Meldet das Fehlschlagen eines einzelnen Testlaufs. |
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)
Stellt die zugehörigen Protokoll- oder Debugging-Daten aus dem Testaufruf bereit. |
void
|
testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)
Meldet das Ende des Testlaufs. |
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 Beginn eines Testlaufs. |
void
|
testRunStopped(long elapsedTime)
Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vor dem Abschluss beendet. |
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 Testlauf ausgelöst wird
AT_START
public static final BugreportCollector.Predicate AT_START
Ein vordefiniertes Prädikat, das ausgelöst wird, wenn der erste Aufruf beginnt
Öffentliche Konstruktoren
BugreportCollector
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 mehr erfasst. Wenn der Collector keinen Fehlerbericht erfasst, kehren Sie sofort zurück.
getSummary
public TestSummary getSummary ()
Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.
| Gibt Folgendes zurück: | |
|---|---|
TestSummary |
Eine TestSummary, die den Lauf zusammenfasst, oder „null“ |
invocationEnded
public void invocationEnded (long elapsedTime)
Gibt an, dass der Aufruf beendet wurde, entweder erfolgreich oder aufgrund eines Fehlerzustands.
Wird automatisch vom TradeFederation-Framework aufgerufen.
| Parameter | |
|---|---|
elapsedTime |
long: die verstrichene Zeit des Aufrufs in Millisekunden |
invocationFailed
public void invocationFailed (Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.
Wird automatisch vom TradeFederation-Framework aufgerufen.
| Parameter | |
|---|---|
cause |
Throwable: die Throwable-Ursache des Fehlers |
invocationStarted
public void invocationStarted (IInvocationContext context)
Meldet den Beginn des Testaufrufs.
Wird automatisch vom TradeFederation-Framework aufgerufen. Reporter müssen diese Methode überschreiben, um die Berichterstellung für mehrere Geräte zu unterstützen.
| 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 beschreibenden Namen fest, der beim Aufzeichnen von Fehlerberichten verwendet werden soll. Wenn null, wird für BugreportCollector das Standardverhalten verwendet, bei dem der Name des Ereignisses serialisiert wird, das das Erfassen des Fehlerberichts ausgelöst hat.
| Parameter | |
|---|---|
name |
String |
setDeviceWaitTime
public void setDeviceWaitTime (int waitTime)
Legen Sie die Zeit in Sekunden fest, die gewartet werden soll, bis das Gerät online ist, bevor wir versuchen, einen Fehlerbericht zu erfassen. Wenn der Wert negativ ist, wird keine Prüfung durchgeführt. Alle DeviceNotAvailableException, die bei dieser Prüfung gefunden werden, werden protokolliert und ignoriert.
| Parameter | |
|---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Wird aufgerufen, wenn ein atomarer Test meldet, dass er eine Bedingung voraussetzt, die nicht erfüllt ist.
| Parameter | |
|---|---|
test |
TestDescription: Gibt den Test an. |
trace |
String: Stacktrace des Fehlers |
testEnded
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Meldet das Ende der Ausführung eines einzelnen Testlaufs.
Wenn testFailed(TestDescription, FailureDescription) nicht aufgerufen wurde, wurde dieser Test bestanden. Gibt auch alle Schlüssel/Wert-Messwerte zurück, die während der Ausführung des Testlaufs ausgegeben wurden.
| Parameter | |
|---|---|
test |
TestDescription: Gibt den Test an. |
testMetrics |
HashMap: Map der ausgegebenen Messwerte |
testFailed
public void testFailed (TestDescription test, String trace)
Meldet das Fehlschlagen eines einzelnen Testlaufs.
Wird zwischen „testStarted“ und „testEnded“ aufgerufen.
| Parameter | |
|---|---|
test |
TestDescription: Gibt den Test an. |
trace |
String: Stacktrace 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: Gibt den Test an. |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)Stellt die zugehörigen Protokoll- oder Debugging-Daten aus dem Testaufruf bereit.
Muss vor ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) oder ERROR(/ITestInvocationListener#invocationEnded(long)) aufgerufen werden
Das TradeFederation-Framework ruft diese Methode automatisch auf und stellt das Host-Log und gegebenenfalls das Geräte-Logcat bereit.
| Parameter | |
|---|---|
dataName |
String: Ein String aussagekräftiger Name der Daten, z. B. „device_logcat“. Hinweis: dataName ist möglicherweise nicht pro Aufruf eindeutig. Implementierer müssen also mehrere Aufrufe mit demselben dataName verarbeiten können. |
dataType |
LogDataType: die LogDataType der Daten |
dataStream |
InputStreamSource: die InputStreamSource der Daten. Implementierer sollten createInputStream aufrufen, um mit dem Lesen der Daten zu beginnen, und den resultierenden InputStream schließen, wenn sie fertig sind. Anrufer sollten dafür sorgen, dass die Datenquelle bis zum Abschluss der Methode „testLog“ vorhanden und zugänglich bleibt. |
testRunEnded
public void testRunEnded (long elapsedTime,
HashMap<String, MetricMeasurement.Metric> runMetrics)Meldet das Ende des Testlaufs. FIXME: Wir können nicht zwei Map<>-Schnittstellen mit unterschiedlichen Typen haben, daher müssen wir hier HashMap verwenden.
| Parameter | |
|---|---|
elapsedTime |
long: Die vom Gerät gemeldete verstrichene Zeit in Millisekunden. |
runMetrics |
HashMap: Schlüssel/Wert-Paare, die am Ende eines Testlaufs mit Metric gemeldet werden. |
testRunFailed
public void testRunFailed (String errorMessage)
Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.
| Parameter | |
|---|---|
errorMessage |
String: String, in dem der Grund für den Fehler bei der Ausführung beschrieben wird. |
testRunStarted
public void testRunStarted (String runName,
int testCount)Meldet den Beginn eines Testlaufs.
| 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 vor dem Abschluss beendet.
TODO: currently unused, consider removing
| Parameter | |
|---|---|
elapsedTime |
long: Die vom Gerät gemeldete verstrichene Zeit in Millisekunden. |
testStarted
public void testStarted (TestDescription test)
Meldet den Beginn eines einzelnen Testlaufs. Ältere Schnittstelle. Verwenden Sie nach Möglichkeit testStarted(TestDescription).
| Parameter | |
|---|---|
test |
TestDescription: Gibt den Test an. |