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 (asynchronous = true) oder ob der Anrufer blockiert werden soll, bis der Fehlerbericht erfasst wurde (asynchronous = false).

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, testMetrics)

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, runMetrics)

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