BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
com.android.tradefed.result.BugreportCollector


Ein Pass-Through- ITestInvocationListener , der Fehlerberichte sammelt, wenn konfigurierbare Ereignisse auftreten, und dann ITestInvocationListener#testLog für seine untergeordneten Elemente aufruft, nachdem jeder Fehlerbericht gesammelt wurde.

Verhalten: (FIXME: beende das)

  • Erfassen Sie nach jedem, wenn Testfälle fehlgeschlagen sind
  • Erfassen Sie nach jedem Testfall
  • Erfassung nach jedem fehlgeschlagenen Testfall
  • Ergreifen

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 ausgelöst wird, wenn der erste Aufruf beginnt

Öffentliche Konstrukteure

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Öffentliche Methoden

void addPredicate ( BugreportCollector.Predicate p)
void blockUntilIdle ()

Blockieren, bis der Kollektor keine Fehlerberichte sammelt.

TestSummary getSummary ()

Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.

void invocationEnded (long elapsedTime)

Meldet, dass der Aufruf erfolgreich oder aufgrund einer Fehlerbedingung beendet wurde.

void invocationFailed (Throwable cause)

Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung.

void invocationStarted ( IInvocationContext context)

Meldet den Start des Testaufrufs.

void setAsynchronous (boolean asynchronous)

Legen Sie fest, ob die Sammlung von Fehlerberichten den Fehlerbericht in einem anderen Thread sammeln soll ( asynchronous = true ), oder blockieren Sie den Aufrufer, bis der Fehlerbericht erfasst wird ( asynchronous = false ).

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 anzeigt, dass er eine falsche Bedingung annimmt

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

Meldet das Ausführungsende eines einzelnen Testfalls.

void testFailed ( TestDescription test, String trace)

Meldet das Fehlschlagen eines einzelnen Testfalls.

void testIgnored ( TestDescription test)

Wird aufgerufen, wenn ein Test nicht ausgeführt wird, im Allgemeinen, weil eine Testmethode mit org.junit.Ignore kommentiert ist.

void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)

Stellt die zugehörigen Protokoll- oder Debugdaten aus dem Testaufruf bereit.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

Meldet das Ende des Testlaufs.

void testRunFailed (String errorMessage)

Berichtstestlauf konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.

void testRunStarted (String runName, int testCount)

Meldet den Start eines Testlaufs.

void testRunStopped (long elapsedTime)

Berichtet, dass der Testlauf aufgrund einer Benutzeranforderung vor Abschluss beendet wurde.

void testStarted ( TestDescription test)

Meldet den Start eines einzelnen Testfalls.

Felder

NACH_FAILED_TESTFÄLLEN

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Ein vordefiniertes Prädikat, das nach jedem fehlgeschlagenen Testfall ausgelöst wird

AM ANFANG

public static final BugreportCollector.Predicate AT_START

Ein vordefiniertes Prädikat, das ausgelöst wird, wenn der erste Aufruf beginnt

Öffentliche Konstrukteure

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parameter
listener ITestInvocationListener

testDevice ITestDevice

Öffentliche Methoden

addPrädikat

public void addPredicate (BugreportCollector.Predicate p)

Parameter
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Blockieren, bis der Kollektor keine Fehlerberichte sammelt. Wenn der Collector nicht aktiv einen Fehlerbericht sammelt, kehren Sie sofort zurück

getSummary

public TestSummary getSummary ()

Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.

Kehrt zurück
TestSummary Eine TestSummary , die den Lauf zusammenfasst, oder null

AufrufBeendet

public void invocationEnded (long elapsedTime)

Meldet, dass der Aufruf erfolgreich oder aufgrund einer Fehlerbedingung beendet wurde.

Wird automatisch vom TradeFederation-Framework aufgerufen.

Parameter
elapsedTime long : die verstrichene Zeit des Aufrufs in ms

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 Fehlerursache ERROR(/Throwable)

AufrufStarted

public void invocationStarted (IInvocationContext context)

Meldet den Start des Testaufrufs.

Wird automatisch vom TradeFederation-Framework aufgerufen. Melder müssen diese Methode überschreiben, um die Meldung mehrerer Geräte zu unterstützen.

Parameter
context IInvocationContext : Informationen über den Aufruf

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Legen Sie fest, ob die Sammlung von Fehlerberichten den Fehlerbericht in einem anderen Thread sammeln soll ( asynchronous = true ), oder blockieren Sie den Aufrufer, bis der Fehlerbericht erfasst wird ( asynchronous = false ).

Parameter
asynchronous boolean

setBeschreibenderName

public void setDescriptiveName (String name)

Legen Sie den beschreibenden Namen fest, der beim Aufzeichnen von Fehlerberichten verwendet werden soll. Wenn null , greift BugreportCollector auf das Standardverhalten zurück, bei dem der Name des Ereignisses serialisiert wird, das die Erfassung des Fehlerberichts verursacht 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. Im negativen Fall erfolgt keine Prüfung. Jede DeviceNotAvailableException , die während dieser Prüfung auftritt, wird protokolliert und ignoriert.

Parameter
waitTime int

TestAnnahmeFehler

public void testAssumptionFailure (TestDescription test, 
                String trace)

Wird aufgerufen, wenn ein atomarer Test anzeigt, dass er eine falsche Bedingung annimmt

Parameter
test TestDescription : identifiziert den Test

trace String : Stack-Trace des Fehlers

testBeendet

public void testEnded (TestDescription test, 
                 testMetrics)

Meldet das Ausführungsende eines einzelnen Testfalls.

Wenn testFailed(TestDescription, FailureDescription) nicht aufgerufen wurde, wurde dieser Test bestanden. Gibt auch alle Schlüssel/Wert-Metriken zurück, die möglicherweise während der Ausführung des Testfalls ausgegeben wurden.

Parameter
test TestDescription : identifiziert den Test

testMetrics : ein ERROR(/Map) der ausgegebenen Metriken

im Test durchgefallen

public void testFailed (TestDescription test, 
                String trace)

Meldet das Fehlschlagen eines einzelnen Testfalls.

Wird zwischen testStarted und testEnded aufgerufen.

Parameter
test TestDescription : identifiziert den Test

trace String : Stack-Trace des Fehlers

testIgnoriert

public void testIgnored (TestDescription test)

Wird aufgerufen, wenn ein Test nicht ausgeführt wird, im Allgemeinen, weil eine Testmethode mit org.junit.Ignore kommentiert ist.

Parameter
test TestDescription : identifiziert den Test

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Stellt die zugehörigen Protokoll- oder Debugdaten aus dem Testaufruf bereit.

Muss vor ERROR(/ITestInvocationListener#invocationFailed(Throwable)) oder ERROR(/ITestInvocationListener#invocationEnded(long)) aufgerufen werden

Das TradeFederation-Framework ruft diese Methode automatisch auf und stellt das Host-Protokoll und gegebenenfalls das Geräte-Logcat bereit.

Parameter
dataName String : ein ERROR(/String) beschreibender Name der Daten. zB "device_logcat". Hinweis dataName darf pro Aufruf nicht eindeutig sein. dh Implementierer müssen in der Lage sein, mehrere Aufrufe mit demselben dataName zu verarbeiten

dataType LogDataType : der LogDataType der Daten

dataStream InputStreamSource : die InputStreamSource der Daten. Implementierer sollten createInputStream aufrufen, um mit dem Lesen der Daten zu beginnen, und sicherstellen, dass der resultierende InputStream nach Abschluss geschlossen wird. Aufrufer sollten sicherstellen, dass die Quelle der Daten vorhanden und zugänglich bleibt, bis die testLog-Methode abgeschlossen ist.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Meldet das Ende des Testlaufs. FIXME: Wir können nicht zwei Map<>-Schnittstellen mit unterschiedlichem Typ haben, also müssen wir hier HashMap verwenden.

Parameter
elapsedTime long : vom Gerät gemeldete verstrichene Zeit in Millisekunden

runMetrics : Schlüssel-Wert-Paare, die am Ende eines Testlaufs mit Metric gemeldet werden.

testRunFailed

public void testRunFailed (String errorMessage)

Berichtstestlauf konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.

Parameter
errorMessage String : ERROR(/String) beschreibt den Grund für den Ausführungsfehler.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Meldet den Start eines Testlaufs.

Parameter
runName String : der Name des Testlaufs

testCount int : Gesamtzahl der Tests im Testlauf

testRunStopped

public void testRunStopped (long elapsedTime)

Berichtet, dass der Testlauf aufgrund einer Benutzeranforderung vor Abschluss beendet wurde.

TODO: Derzeit nicht verwendet, erwägen Sie das Entfernen

Parameter
elapsedTime long : vom Gerät gemeldete verstrichene Zeit in Millisekunden

testGestartet

public void testStarted (TestDescription test)

Meldet den Start eines einzelnen Testfalls. Ältere Schnittstellen sollten nach Möglichkeit testStarted(com.android.tradefed.result.TestDescription) verwenden.

Parameter
test TestDescription : identifiziert den Test