BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Komponent przekazujący ITestInvocationListener, który zbiera raporty o błędach, gdy wystąpią konfigurowalne zdarzenia, a następnie wywołuje funkcję ITestInvocationListener.testLog na swoich elementach podrzędnych po zebraniu każdego raportu o błędach.

Zachowania: (FIXME: dokończ)

  • Zapisywanie po każdym teście, jeśli któryś z nich się nie powiódł
  • Zapisywanie po każdym przypadku testowym
  • Zrzut ekranu po każdym nieudanym przypadku testowym
  • Rejestruj

Podsumowanie

Zagnieżdżone klasy

class BugreportCollector.Predicate

Pełny predykat opisujący, kiedy należy przechwycić raport o błędzie. 

interface BugreportCollector.SubPredicate

 

Pola

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Wstępnie zdefiniowany predykat, który jest uruchamiany po każdym nieudanym przypadku testowym.

public static final BugreportCollector.Predicate AT_START

Wstępnie zdefiniowany predykat, który jest uruchamiany, gdy rozpoczyna się pierwsze wywołanie.

Konstruktory publiczne

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Metody publiczne

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

Blokuj, dopóki moduł zbierający nie będzie zbierać żadnych raportów o błędach.

TestSummary getSummary()

Umożliwia interfejsowi InvocationListener zwracanie podsumowania.

void invocationEnded(long elapsedTime)

Informuje, że wywołanie zostało zakończone, niezależnie od tego, czy zakończyło się ono pomyślnie, czy z powodu błędu.

void invocationFailed(Throwable cause)

Zgłasza niekompletne wywołanie z powodu błędu.

void invocationStarted(IInvocationContext context)

Zgłasza rozpoczęcie wywołania testu.

void setAsynchronous(boolean asynchronous)

Określ, czy raport o błędach ma być zbierany w innym wątku (asynchronous = true), czy też wywołujący ma być blokowany do czasu przechwycenia raportu o błędach (asynchronous = false).

void setDescriptiveName(String name)

Ustaw opisową nazwę, która będzie używana podczas nagrywania raportów o błędach.

void setDeviceWaitTime(int waitTime)

Ustaw czas (w sekundach) oczekiwania na przejście urządzenia w tryb online, zanim spróbujemy przechwycić raport o błędzie.

void testAssumptionFailure(TestDescription test, String trace)

Wywoływana, gdy test atomowy zgłasza, że zakłada warunek, który jest fałszywy

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

Zgłasza zakończenie wykonania pojedynczego elementu testowania.

void testFailed(TestDescription test, String trace)

Zgłasza niepowodzenie pojedynczego elementu testowania.

void testIgnored(TestDescription test)

Wywoływana, gdy test nie zostanie uruchomiony, zwykle dlatego, że metoda testowa jest oznaczona adnotacją org.junit.Ignore.

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

Zawiera powiązane dane dziennika lub dane debugowania z wywołania testu.

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Zgłasza zakończenie sesji testowej.

void testRunFailed(String errorMessage)

Zgłasza, że nie udało się ukończyć sesji testowej z powodu błędu krytycznego.

void testRunStarted(String runName, int testCount)

Zgłasza rozpoczęcie sesji testowej.

void testRunStopped(long elapsedTime)

Zgłasza zatrzymanie sesji testowej przed zakończeniem na prośbę użytkownika.

void testStarted(TestDescription test)

Zgłasza rozpoczęcie pojedynczego elementu testowania.

Pola

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Wstępnie zdefiniowany predykat, który jest uruchamiany po każdym nieudanym przypadku testowym.

AT_START

public static final BugreportCollector.Predicate AT_START

Wstępnie zdefiniowany predykat, który jest uruchamiany, gdy rozpoczyna się pierwsze wywołanie.

Konstruktory publiczne

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parametry
listener ITestInvocationListener

testDevice ITestDevice

Metody publiczne

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parametry
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Blokuj, dopóki moduł zbierający nie będzie zbierać żadnych raportów o błędach. Jeśli kolektor nie zbiera aktywnie raportu o błędzie, natychmiast zwróć wartość

getSummary

public TestSummary getSummary ()

Umożliwia interfejsowi InvocationListener zwracanie podsumowania.

Zwraca
TestSummary TestSummary podsumowująca bieg lub wartość null.

invocationEnded

public void invocationEnded (long elapsedTime)

Informuje, że wywołanie zostało zakończone, niezależnie od tego, czy zakończyło się ono pomyślnie, czy z powodu błędu.

Zostanie automatycznie wywołana przez platformę TradeFederation.

Parametry
elapsedTime long: czas trwania wywołania w milisekundach.

invocationFailed

public void invocationFailed (Throwable cause)

Zgłasza niekompletne wywołanie z powodu błędu.

Zostanie automatycznie wywołana przez platformę TradeFederation.

Parametry
cause Throwable: Throwable przyczyna niepowodzenia

invocationStarted

public void invocationStarted (IInvocationContext context)

Zgłasza rozpoczęcie wywołania testu.

Zostanie automatycznie wywołana przez platformę TradeFederation. Aby obsługiwać raportowanie z wielu urządzeń, reporterzy muszą zastąpić tę metodę.

Parametry
context IInvocationContext: informacje o wywołaniu,

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Określ, czy raport o błędach ma być zbierany w innym wątku (asynchronous = true), czy też wywołujący ma być blokowany do czasu przechwycenia raportu o błędach (asynchronous = false).

Parametry
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Ustaw opisową nazwę, która będzie używana podczas nagrywania raportów o błędach. Jeśli null, BugreportCollector powróci do domyślnego działania polegającego na serializacji nazwy zdarzenia, które spowodowało zebranie raportu o błędzie.

Parametry
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Ustaw czas (w sekundach) oczekiwania na przejście urządzenia w tryb online, zanim spróbujemy przechwycić raport o błędzie. Jeśli jest ujemna, nie zostanie przeprowadzona żadna kontrola. Wszystkie znaki DeviceNotAvailableException napotkane podczas tego sprawdzania zostaną zarejestrowane i zignorowane.

Parametry
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Wywoływana, gdy test atomowy zgłasza, że zakłada warunek, który jest fałszywy

Parametry
test TestDescription: identyfikuje test

trace String: zrzut stosu błędu

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Zgłasza zakończenie wykonania pojedynczego elementu testowania.

Jeśli funkcja testFailed(TestDescription, FailureDescription) nie została wywołana, test uznaje się za zaliczony. Zwraca też wszystkie dane klucz/wartość, które mogły zostać wyemitowane podczas wykonywania elementu testowania.

Parametry
test TestDescription: identyfikuje test

testMetrics HashMap: Map danych wygenerowanych

testFailed

public void testFailed (TestDescription test, 
                String trace)

Zgłasza niepowodzenie pojedynczego elementu testowania.

Wywoływana między testStarted a testEnded.

Parametry
test TestDescription: identyfikuje test

trace String: zrzut stosu błędu

testIgnored

public void testIgnored (TestDescription test)

Wywoływana, gdy test nie zostanie uruchomiony, zwykle dlatego, że metoda testowa jest oznaczona adnotacją org.junit.Ignore.

Parametry
test TestDescription: identyfikuje test

testLog

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

Zawiera powiązane dane dziennika lub dane debugowania z wywołania testu.

Musi być wywołana przed ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) lub ERROR(/ITestInvocationListener#invocationEnded(long))

Platforma TradeFederation automatycznie wywoła tę metodę, podając dziennik hosta i w razie potrzeby dziennik logcat urządzenia.

Parametry
dataName String: opisowa nazwa danych, np. „device_logcat”.String Uwaga: parametr dataName może nie być unikalny w przypadku każdego wywołania. Oznacza to, że osoby wdrażające muszą być w stanie obsłużyć wiele wywołań z tą samą nazwą dataName.

dataType LogDataType: LogDataType danych

dataStream InputStreamSource: InputStreamSource danych. Osoby wdrażające powinny wywołać funkcję createInputStream, aby rozpocząć odczytywanie danych, i po zakończeniu zamknąć wynikowy strumień InputStream. Wywołujący powinni zadbać o to, aby źródło danych było dostępne do momentu zakończenia działania metody testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Zgłasza zakończenie sesji testowej. FIXME: Nie możemy mieć dwóch interfejsów Map<> z różnymi typami, więc musimy tutaj użyć HashMap.

Parametry
elapsedTime long: czas, który upłynął od ostatniego zgłoszenia przez urządzenie (w milisekundach)

runMetrics HashMap: pary klucz/wartość zgłaszane na zakończenie sesji testowej z parametrem Metric.

testRunFailed

public void testRunFailed (String errorMessage)

Zgłasza, że nie udało się ukończyć sesji testowej z powodu błędu krytycznego.

Parametry
errorMessage String: String opisuje przyczynę niepowodzenia uruchomienia.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Zgłasza rozpoczęcie sesji testowej.

Parametry
runName String: nazwa sesji testowej

testCount int: łączna liczba testów podczas sesji testowej

testRunStopped

public void testRunStopped (long elapsedTime)

Zgłasza zatrzymanie sesji testowej przed zakończeniem na prośbę użytkownika.

TODO: obecnie nieużywane, rozważ usunięcie

Parametry
elapsedTime long: czas, który upłynął od ostatniego zgłoszenia przez urządzenie (w milisekundach)

testStarted

public void testStarted (TestDescription test)

Zgłasza rozpoczęcie pojedynczego elementu testowania. Jest to starszy interfejs; o ile to możliwe, używaj testStarted(TestDescription).

Parametry
test TestDescription: identyfikuje test