UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.tradefed.testtype.UiAutomatorRunner


Esegue il test UI Automator sul dispositivo e riporta i risultati. Il test UI Automator è un test runner dedicato per l'esecuzione di test di automazione dell'interfaccia utente che utilizza il framework UI Automator. Il test runner sul dispositivo emula il formato di output del test di strumentazione in modo che il codice di analisi esistente in ddmlib e TF possa essere riutilizzato. In sostanza, si tratta di un wrapper per questo comando: adb shell uiautomator runtest (jar files) -e class (test classes) ...

Riepilogo

Costruttori pubblici

UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)

Crea un UiAutomatorRunner per eseguire test di automazione dell'interfaccia utente

Metodi pubblici

void addBooleanArg(String name, boolean value)

Aggiunge un argomento booleano da includere nel comando di strumentazione.

void addInstrumentationArg(String name, String value)

Aggiunge un argomento da includere nel comando di strumentazione.

void cancel()

Richiede l'annullamento di questo test.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

Restituisce il tipo di copertura del test prodotto dal runner.

String getPackageName()

Restituisce il nome del pacchetto dell'ultima classe Java aggiunta

String getRunnerName()

Restituisce il nome della classe UiAutomatorTestRunner predefinita

void removeInstrumentationArg(String name)

Rimuove un argomento aggiunto in precedenza.

void run(ITestRunListener... listeners)

Esegui questa esecuzione di test.

void run( listeners)

Esegui questa esecuzione di test.

void setAdditionalTestOutputLocation(String additionalTestDataPath)

Imposta la posizione dell'output di test aggiuntivo da copiare sull'host prima della disinstallazione dell'app di test.

void setClassName(String className)

Imposta l'esecuzione solo dei test in questa classe. Deve essere chiamato prima di "run".

void setClassNames(String[] classNames)

Imposta l'esecuzione solo dei test nelle classi fornite. Deve essere chiamato prima di "run".

void setCoverage(boolean coverage)

Imposta questa modalità di copertura del codice dell'esecuzione del test.

void setCoverageReportLocation(String arg0)

Imposta la posizione dei report sulla copertura generati.

void setDebug(boolean debug)

Imposta questa modalità di debug dell'esecuzione del test.

void setIgnoreSighup(boolean value)

Imposta l'opzione in uiautomator per ignorare SIGHUP.

void setLogOnly(boolean logOnly)

Imposta questa esecuzione del test in modalità solo log, ignorando l'esecuzione del test.

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

Imposta il tempo massimo consentito tra l'output del comando shell che esegue i test sui dispositivi.

void setMaxTimeout(long maxTimeout, TimeUnit unit)

Imposta il tempo massimo consentito per il completamento della strumentazione.

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

Questo metodo è obsoleto. utilizza invece setMaxTimeToOutputResponse(long, TimeUnit).

void setMethodName(String className, String testName)

Imposta l'esecuzione solo del metodo di test specificato. Deve essere chiamato prima di "run".

void setRunName(String runName)

Imposta un nome di esecuzione personalizzato da comunicare a ITestRunListener il giorno run()

Se non specificato, verrà utilizzato il nome del pacchetto

void setTestCollection(boolean b)

Imposta questa esecuzione test sulla modalità di raccolta test.

void setTestPackageName(String packageName)

Imposta l'esecuzione di tutti i test nel pacchetto specificato. Deve essere chiamato prima di "run".

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

Imposta l'esecuzione solo di test di dimensioni specifiche.

Metodi protetti

String getRunCommand()
String getRunnerPath()

Costruttori pubblici

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

Crea un UiAutomatorRunner per eseguire test di automazione dell'interfaccia utente

Parametri
remoteDevice IDevice: il dispositivo remoto con cui interagire: esegui test, raccogli risultati e così via

jarPaths String: i percorsi dei file JAR in cui si trovano gli scenari di test UI Automator; i percorsi devono essere assoluti o relativi a /data/local/tmp/ sul dispositivo

runnerPath String: runner uiautomator alternativo da utilizzare, può essere null e in questo caso verrà utilizzato il valore predefinito

Metodi pubblici

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

Aggiunge un argomento booleano da includere nel comando di strumentazione.

Parametri
name String: il nome dell'argomento del bundle di strumentazione

value boolean: il valore dell'argomento

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

Aggiunge un argomento da includere nel comando di strumentazione.

Deve essere chiamato prima di "run". Se è già stato fornito un argomento con il nome specificato, il relativo valore verrà sovrascritto.

Parametri
name String: il nome dell'argomento del bundle di strumentazione

value String: il valore dell'argomento

annulla

public void cancel ()

Richiede l'annullamento di questo test.

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Restituisce il tipo di copertura del test prodotto dal runner. Leggi i CoverageOutput.

Ritorni
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

Restituisce il nome del pacchetto dell'ultima classe Java aggiunta

Ritorni
String

getRunnerName

public String getRunnerName ()

Restituisce il nome della classe UiAutomatorTestRunner predefinita

Ritorni
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

Rimuove un argomento aggiunto in precedenza.

Parametri
name String: il nome dell'argomento del bundle di strumentazione da rimuovere

run

public void run (ITestRunListener... listeners)

Esegui questa esecuzione di test.

Metodo di convenienza per ERROR(/#run(Collection)).

Parametri
listeners ITestRunListener: ascolta i risultati del test

Lanci
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

run

public void run ( listeners)

Esegui questa esecuzione di test.

Parametri
listeners : raccolta di listener per i risultati del test

Lanci
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

Imposta la posizione dell'output di test aggiuntivo da copiare sull'host prima della disinstallazione dell'app di test. Ad esempio, i report benchmark generati.

Parametri
additionalTestDataPath String

setClassName

public void setClassName (String className)

Imposta l'esecuzione solo dei test in questa classe. Deve essere chiamato prima di "run".

Parametri
className String: nome della classe completo (ad es. x.y.z)

setClassNames

public void setClassNames (String[] classNames)

Imposta l'esecuzione solo dei test nelle classi fornite. Deve essere chiamato prima di "run".

Se fornisci più di una classe, è necessario un InstrumentationTestRunner che supporti la sintassi dell'argomento per più classi.

Parametri
classNames String: array di nomi di classi completi (ad es. x.y.z)

setCoverage

public void setCoverage (boolean coverage)

Imposta questa modalità di copertura del codice dell'esecuzione del test.

Parametri
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

Imposta la posizione dei report sulla copertura generati.

Parametri
arg0 String

setDebug

public void setDebug (boolean debug)

Imposta questa modalità di debug dell'esecuzione del test. Se è true, Android Test Runner attenderà l'attacco di un debugger prima di procedere con l'esecuzione del test.

Parametri
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

Imposta l'opzione in uiautomator per ignorare SIGHUP.

Parametri
value boolean: ignora il segnale se impostato su true

setLogOnly

public void setLogOnly (boolean logOnly)

Imposta questa esecuzione del test in modalità solo log, ignorando l'esecuzione del test.

Parametri
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

Imposta il tempo massimo consentito tra l'output del comando shell che esegue i test sui dispositivi.

Ciò consente di impostare un timeout nel caso in cui i test possano bloccarsi e non terminare mai. Questo è diverso dal normale timeout della connessione.

Per impostazione predefinita, non verrà specificato alcun timeout.

Parametri
timeout long: il periodo di tempo massimo durante il quale il comando può non restituire alcuna risposta. Un valore pari a 0 indica che il metodo attenderà per sempre (finché receiver non annulla l'esecuzione) l'output del comando e non genererà mai un'eccezione.

unit TimeUnit: unità per i valori non nulli di maxTimeToOutputResponse e maxTimeout.

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

Imposta il tempo massimo consentito per il completamento della strumentazione.

Ciò consente di impostare un timeout nel caso in cui i test possano bloccarsi e non terminare mai. Questo è diverso dal normale timeout della connessione.

Per impostazione predefinita, non verrà specificato alcun timeout.

Parametri
maxTimeout long: il periodo di tempo massimo durante il quale il comando non può restituire alcuna risposta. Un valore pari a 0 indica che il metodo attenderà per sempre (finché receiver non annulla l'esecuzione) l'output del comando e non genererà mai un'eccezione.

unit TimeUnit: unità per i valori non nulli di maxTimeToOutputResponse e maxTimeout.

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Questo metodo è obsoleto.
utilizza invece setMaxTimeToOutputResponse(long, TimeUnit).

Parametri
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

Imposta l'esecuzione solo del metodo di test specificato. Deve essere chiamato prima di "run".

Parametri
className String: nome della classe completo (ad es. x.y.z)

testName String: nome del metodo

setRunName

public void setRunName (String runName)

Imposta un nome di esecuzione personalizzato da comunicare a ITestRunListener il giorno run()

Se non specificato, verrà utilizzato il nome del pacchetto

setTestCollection

public void setTestCollection (boolean b)

Imposta questa esecuzione test sulla modalità di raccolta test. Se il valore è true, l'esecuzione del test verrà ignorata e verranno impostati tutti gli argomenti del runner appropriati necessari per una raccolta di test riuscita.

Parametri
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

Imposta l'esecuzione di tutti i test nel pacchetto specificato. Deve essere chiamato prima di "run".

Parametri
packageName String: nome completo del pacchetto (ad es. x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

Imposta l'esecuzione solo di test di dimensioni specifiche. Deve essere chiamato prima di "run".

Parametri
size IRemoteAndroidTestRunner.TestSize: il TestSize da eseguire.

Metodi protetti

getRunCommand

protected String getRunCommand ()

Ritorni
String

getRunnerPath

protected String getRunnerPath ()

Ritorni
String