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 comunica i risultati a un ITestRunListener.

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

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

Riepilogo

Costruttori pubblici

InstrumentationResultParser(String runName, ITestRunListener listener)

Crea InstrumentationResultParser per un singolo listener.

InstrumentationResultParser(String runName, Collection<ITestRunListener> 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 instrumentazione dalla shell.

Costruttori pubblici

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                ITestRunListener listener)

Crea InstrumentationResultParser per un singolo listener.

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

listener ITestRunListener: informato dei risultati dei test durante l'esecuzione

InstrumentationResultParser

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

Crea InstrumentationResultParser.

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

listeners Collection: informato dei risultati dei test durante l'esecuzione

Metodi pubblici

annulla

public void cancel ()

Richiede l'annullamento dell'esecuzione di prova.

fine

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 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.

Resi
boolean true per annullare l'esecuzione del comando.

processNewLines

public void processNewLines (String[] lines)

Elabora l'output del test di instrumentazione dalla shell.

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