InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

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


Parst die Ergebnisse des „Rohausgabemodus“ eines Instrumentierungstests, der über die Shell ausgeführt wird, und informiert einen ITestRunListener über die Ergebnisse.

Die erwartete Ausgabe sieht so aus:

Wenn beim Ausführen der Tests ein schwerwiegender Fehler aufgetreten ist:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

oder

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

Andernfalls wird eine Reihe von Testergebnissen erwartet, die jeweils eine Reihe von Status-Schlüssel/Wert-Paaren enthalten, die durch einen Statuscode für „start“ (1)/„pass“ (0)/„fail“ (-2)/„error“ (-1) begrenzt werden. Am Ende des Testlaufs wird die verstrichene Testzeit in Sekunden angezeigt.

Beispiel:

 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
 

Beachten Sie, dass der „value“-Teil des Schlüssel/Wert-Paars über mehrere Textzeilen umgebrochen werden kann.

Verwenden Sie stattdessen InstrumentationProtoResultParser. Der auf Proto basierende Parser enthält zusätzliche Informationen wie Logcat-Nachrichten.

Zusammenfassung

Öffentliche Konstruktoren

InstrumentationResultParser(String runName, listeners)

Erstellt den InstrumentationResultParser.

Öffentliche Methoden

void cancel()

Fordert den Abbruch des Testlaufs an.

void done()

Wird vom übergeordneten Element aufgerufen, wenn die ADB-Sitzung abgeschlossen ist.

void handleTestRunFailed(String errorMsg)

Diese Methode wird aufgerufen, wenn der Befehl „am instrument“ mit einer Ausnahme abstürzt.

boolean isCancelled()

Gibt „true“ zurück, wenn der Testlauf abgebrochen wurde.

void processNewLines(String[] lines)

Verarbeitet die Ausgabe des Instrumentierungstests aus der Shell.

Öffentliche Konstruktoren

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

Erstellt den InstrumentationResultParser.

Parameter
runName String: Der Name des Testlaufs, der für ITestRunListener.testRunStarted(String, int) angegeben werden soll.

listeners : über Testergebnisse informiert werden, während die Tests ausgeführt werden

Öffentliche Methoden

Abbrechen

public void cancel ()

Fordert den Abbruch des Testlaufs an.

done

public void done ()

Wird vom übergeordneten Element aufgerufen, wenn die ADB-Sitzung abgeschlossen ist.

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Diese Methode wird aufgerufen, wenn der Befehl „am instrument“ mit einer Ausnahme abstürzt. Alle registrierten Listener sollten ITestRunListener.testRunFailed gefolgt von ITestRunListener.testRunEnded(long, ) benachrichtigt werden, wenn der Absturz während der Testausführung auftritt.

Parameter
errorMsg String

isCancelled

public boolean isCancelled ()

Gibt „true“ zurück, wenn der Testlauf abgebrochen wurde.

Returns
boolean „true“, um die Ausführung des Befehls abzubrechen.

Weitere Informationen

processNewLines

public void processNewLines (String[] lines)

Verarbeitet die Ausgabe des Instrumentierungstests aus der Shell.

Parameter
lines String: Das Array mit den neuen Zeilen.