InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.ddmlib.MultiLineReceiver
     ↳ com.android.tradefed.result.ddmlib.InstrumentationResultParser


Analizuje wyniki „trybu surowych danych wyjściowych” testu z instrumentacją uruchomionego w powłoce i informuje o nich ITestRunListener.

Oczekiwane dane wyjściowe:

Jeśli podczas próby uruchomienia testów wystąpił błąd krytyczny:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

lub

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

W przeciwnym razie spodziewaj się serii wyników testów, z których każdy zawiera zestaw par klucz/wartość stanu oddzielonych kodem stanu start(1)/pass(0)/fail(-2)/error(-1). Po zakończeniu testu oczekuje się wyświetlenia czasu trwania testu w sekundach.

Przykład:

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

Pamiętaj, że część „wartość” w parze klucz-wartość może obejmować kilka wierszy tekstu.

Użyj w zamian zasady InstrumentationProtoResultParser. Parser oparty na protokole zawiera dodatkowe informacje, takie jak wiadomość logcat.

Podsumowanie

Konstruktory publiczne

InstrumentationResultParser(String runName, ITestRunListener listener)

Tworzy obiekt InstrumentationResultParser dla jednego odbiornika.

InstrumentationResultParser(String runName, Collection<ITestRunListener> listeners)

Tworzy obiekt InstrumentationResultParser.

Metody publiczne

void cancel()

Żąda anulowania sesji testowej.

void done()

Wywoływana przez proces nadrzędny po zakończeniu sesji adb.

void handleTestRunFailed(String errorMsg)

Ta metoda jest wywoływana, gdy polecenie „am instrument” ulega awarii z wyjątkiem.

boolean isCancelled()

Zwraca wartość „prawda”, jeśli test został anulowany.

void processNewLines(String[] lines)

Przetwarza dane wyjściowe testu z instrumentacją z powłoki.

Konstruktory publiczne

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                ITestRunListener listener)

Tworzy obiekt InstrumentationResultParser dla jednego odbiornika.

Parametry
runName String: nazwa sesji testowej, która ma zostać przekazana do ITestRunListener.testRunStarted(String,int)

listener ITestRunListener: otrzymywać informacje o wynikach testów w trakcie ich wykonywania;

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                Collection<ITestRunListener> listeners)

Tworzy obiekt InstrumentationResultParser.

Parametry
runName String: nazwa sesji testowej, która ma zostać przekazana do ITestRunListener.testRunStarted(String,int)

listeners Collection: otrzymywać informacje o wynikach testów w trakcie ich wykonywania;

Metody publiczne

anuluj

public void cancel ()

Żąda anulowania sesji testowej.

gotowe

public void done ()

Wywoływana przez proces nadrzędny po zakończeniu sesji adb.

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Ta metoda jest wywoływana, gdy polecenie „am instrument” ulega awarii z wyjątkiem. Wszyscy zarejestrowani odbiorcy powinni otrzymać powiadomienie ITestRunListener.testRunFailed, a następnie ITestRunListener.testRunEnded, jeśli awaria nastąpi podczas wykonywania testu.

Parametry
errorMsg String

isCancelled

public boolean isCancelled ()

Zwraca wartość „prawda”, jeśli test został anulowany.

Zwraca
boolean wartość true, aby anulować wykonanie polecenia.

processNewLines

public void processNewLines (String[] lines)

Przetwarza dane wyjściowe testu z instrumentacją z powłoki.

Parametry
lines String: tablica zawierająca nowe wiersze.