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 erfasst wurde.

Verhalten: (FIXME: Beenden Sie dies)

  • Erfassen Sie nach jedem Testfall, ob ein Testfall fehlgeschlagen ist
  • Erfassen Sie nach jedem Testfall
  • Erfassen Sie nach jedem fehlgeschlagenen Testfall
  • Erfassen

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 Bauträger

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Öffentliche Methoden

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

Blockieren, bis der Collector keine Fehlerberichte mehr 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 Beginn des Testaufrufs.

void setAsynchronous (boolean asynchronous)

Legen Sie fest, ob die Bugreport-Sammlung den Bugreport in einem anderen Thread sammeln soll ( asynchronous = true ) oder den Aufrufer blockieren soll, bis der Bugreport 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 Atomtest meldet, 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 den Fehler 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 annotiert 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)

Der Testlauf des Berichts 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 des Berichts wurde aufgrund einer Benutzeranfrage vor Abschluss abgebrochen.

void testStarted ( TestDescription test)

Meldet den Beginn eines einzelnen Testfalls.

Felder

AFTER_FAILED_TESTCASES

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 Bauträger

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 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

invocationEnded

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 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 über mehrere Geräte zu unterstützen.

Parameter
context IInvocationContext : Informationen zum Aufruf

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Legen Sie fest, ob die Bugreport-Sammlung den Bugreport in einem anderen Thread sammeln soll ( asynchronous = true ) oder den Aufrufer blockieren soll, bis der Bugreport erfasst wird ( 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. Bei null greift BugreportCollector auf das Standardverhalten zurück und serialisiert den Namen des Ereignisses, 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. Bei negativem Ergebnis wird keine Prüfung durchgeführt. Jede bei dieser Prüfung auftretende DeviceNotAvailableException wird protokolliert und ignoriert.

Parameter
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Wird aufgerufen, wenn ein Atomtest meldet, dass er eine falsche Bedingung annimmt

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 Testfalls.

Wenn testFailed(TestDescription, FailureDescription) nicht aufgerufen wurde, wurde dieser Test bestanden. Gibt außerdem alle Schlüssel-/Wertmetriken 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 den Fehler eines einzelnen Testfalls.

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, im Allgemeinen, weil eine Testmethode mit org.junit.Ignore annotiert 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 String der den Namen der Daten beschreibt. zB „device_logcat“. Beachten Sie, dass dataName pro Aufruf möglicherweise nicht eindeutig ist. Das heißt, Implementierer müssen in der Lage sein, mehrere Aufrufe mit demselben Datennamen 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 Datenquelle 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, daher 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)

Der Testlauf des Berichts konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.

Parameter
errorMessage String : String , der 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 des Testlaufs

testCount int : Gesamtzahl der Tests im Testlauf

testRunStopped

public void testRunStopped (long elapsedTime)

Der Testlauf des Berichts wurde aufgrund einer Benutzeranfrage vor Abschluss abgebrochen.

TODO: derzeit nicht verwendet, erwägen Sie die Entfernung

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

testgestartet

public void testStarted (TestDescription test)

Meldet den Beginn eines einzelnen Testfalls. Bei älteren Schnittstellen sollte nach Möglichkeit testStarted(com.android.tradefed.result.TestDescription) verwendet werden.

Parameter
test TestDescription : Identifiziert den Test