InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

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


Analizza i risultati della "modalità di output non elaborato" di un test di strumentazione eseguito dalla shell e informa un ITestRunListener dei risultati.

Si prevede il seguente output:

Se si è verificato un errore irreversibile durante il tentativo di esecuzione dei test:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

o

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

In caso contrario, prevedi una serie di risultati dei test, ognuno dei quali contiene un insieme di coppie chiave/valore di stato, delimitate da un codice di stato di inizio(1)/superamento(0)/errore(-2)/errore(-1). Al termine dell'esecuzione del test, prevede che venga visualizzato il tempo di test trascorso in secondi

Ad esempio:

 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
 

Tieni presente che la parte "valore" della coppia chiave-valore potrebbe andare a capo su più righe di testo

Utilizza invece InstrumentationProtoResultParser. Il parser basato su proto contiene informazioni aggiuntive, come il messaggio logcat.

Riepilogo

Costruttori pubblici

InstrumentationResultParser(String runName, listeners)

Crea InstrumentationResultParser.

Metodi pubblici

void cancel()

Richiede l'annullamento dell'esecuzione di prova.

void done()

Chiamato dal genitore al termine della sessione adb.

void handleTestRunFailed(String errorMsg)

Questo metodo viene chiamato quando il comando "am instrument" si arresta in modo anomalo con un'eccezione.

boolean isCancelled()

Restituisce true se l'esecuzione del test è stata annullata.

void processNewLines(String[] lines)

Elabora l'output del test di strumentazione dalla shell.

Costruttori pubblici

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

Crea InstrumentationResultParser.

Parametri
runName String: il nome dell'esecuzione di test da fornire a ITestRunListener.testRunStarted(String, int)

listeners : informato dei risultati dei test durante l'esecuzione

Metodi pubblici

annulla

public void cancel ()

Richiede l'annullamento dell'esecuzione di prova.

done

public void done ()

Chiamato dal genitore al termine della sessione adb.

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Questo metodo viene chiamato quando il comando "am instrument" si arresta in modo anomalo con un'eccezione. Tutti gli ascoltatori registrati devono ricevere una notifica ITestRunListener.testRunFailed seguita da ITestRunListener.testRunEnded(long, ) se l'arresto anomalo si verifica durante l'esecuzione del test.

Parametri
errorMsg String

isCancelled

public boolean isCancelled ()

Restituisce true se l'esecuzione del test è stata annullata.

Ritorni
boolean true per annullare l'esecuzione del comando.

processNewLines

public void processNewLines (String[] lines)

Elabora l'output del test di strumentazione dalla shell.

Parametri
lines String: l'array contenente le nuove righe.