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