UiAutomatorRunner
public
class
UiAutomatorRunner
extends Object
implements
IRemoteAndroidTestRunner
| java.lang.Object | |
| ↳ | com.android.tradefed.testtype.UiAutomatorRunner |
Exécute le test UI Automator sur l'appareil et génère un rapport sur les résultats. Le test UI Automator est un exécuteur de test dédié à l'exécution de tests d'automatisation de l'UI qui utilise le framework UI Automator. L'exécuteur de test sur l'appareil émule le format de sortie des tests d'instrumentation afin que le code d'analyse existant dans ddmlib et TF puisse être réutilisé. Il s'agit essentiellement d'un wrapper autour de cette commande : adb shell uiautomator runtest (jar files) -e class (test classes) ...
Résumé
Constructeurs publics | |
|---|---|
UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)
Créer un UiAutomatorRunner pour exécuter des tests d'automatisation de l'UI |
|
Méthodes publiques | |
|---|---|
void
|
addBooleanArg(String name, boolean value)
Ajoute un argument booléen à inclure dans la commande d'instrumentation. |
void
|
addInstrumentationArg(String name, String value)
Ajoute un argument à inclure dans la commande d'instrumentation. |
void
|
cancel()
Demande l'annulation de cette série de tests. |
IRemoteAndroidTestRunner.CoverageOutput
|
getCoverageOutputType()
Renvoie le type de couverture de test produit par l'exécuteur. |
String
|
getPackageName()
Renvoie le nom du package de la dernière classe Java ajoutée. |
String
|
getRunnerName()
Renvoie le nom de la classe UiAutomatorTestRunner par défaut. |
void
|
removeInstrumentationArg(String name)
Supprime un argument précédemment ajouté. |
void
|
run(ITestRunListener... listeners)
Exécutez cette série de tests. |
void
|
run(
Exécutez cette série de tests. |
void
|
setAdditionalTestOutputLocation(String additionalTestDataPath)
Définit l'emplacement de la sortie de test supplémentaire à copier sur l'hôte avant la désinstallation de l'application de test. |
void
|
setClassName(String className)
Définit l'exécution des tests uniquement dans cette classe. Doit être appelé avant "run". |
void
|
setClassNames(String[] classNames)
Définit les tests à exécuter uniquement dans les classes fournies. Doit être appelé avant "run". |
void
|
setCoverage(boolean coverage)
Définit le mode de couverture du code de cette exécution de test. |
void
|
setCoverageReportLocation(String arg0)
Définit l'emplacement des rapports de couverture générés. |
void
|
setDebug(boolean debug)
Définit le mode débogage de cette exécution de test. |
void
|
setIgnoreSighup(boolean value)
Définit l'option dans uiautomator pour ignorer SIGHUP. |
void
|
setLogOnly(boolean logOnly)
Définit cette série de tests sur le mode journalisation uniquement, ce qui permet d'ignorer l'exécution des tests. |
void
|
setMaxTimeToOutputResponse(long timeout, TimeUnit unit)
Définit le délai maximal autorisé entre la sortie de la commande shell exécutant les tests sur les appareils. |
void
|
setMaxTimeout(long maxTimeout, TimeUnit unit)
Définit la durée maximale autorisée pour la fin de l'instrumentation. |
void
|
setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
Cette méthode est obsolète.
Utilisez plutôt |
void
|
setMethodName(String className, String testName)
Définit les méthodes de test à exécuter uniquement. Doit être appelé avant "run". |
void
|
setRunName(String runName)
Définissez un nom d'exécution personnalisé à signaler à Si aucune valeur n'est spécifiée, le nom du package est utilisé. |
void
|
setTestCollection(boolean b)
Définit cette exécution de test sur le mode de collecte de tests. |
void
|
setTestPackageName(String packageName)
Définit l'exécution de tous les tests du package spécifié. Doit être appelé avant "run". |
void
|
setTestSize(IRemoteAndroidTestRunner.TestSize size)
Définit les ensembles pour n'exécuter que les tests de la taille indiquée. |
Méthodes protégées | |
|---|---|
String
|
getRunCommand()
|
String
|
getRunnerPath()
|
Constructeurs publics
UiAutomatorRunner
public UiAutomatorRunner (IDevice remoteDevice, String[] jarPaths, String runnerPath)
Créer un UiAutomatorRunner pour exécuter des tests d'automatisation de l'UI
| Paramètres | |
|---|---|
remoteDevice |
IDevice : appareil distant avec lequel interagir (exécuter un test, collecter des résultats, etc.) |
jarPaths |
String : chemins d'accès aux fichiers JAR où se trouvent les cas de test UI Automator. Les chemins d'accès doivent être absolus ou relatifs à /data/local/tmp/ sur l'appareil. |
runnerPath |
String : autre exécuteur uiautomator à utiliser. Il peut s'agir de null. Dans ce cas, la valeur par défaut sera utilisée. |
Méthodes publiques
addBooleanArg
public void addBooleanArg (String name,
boolean value)Ajoute un argument booléen à inclure dans la commande d'instrumentation.
| Paramètres | |
|---|---|
name |
String : nom de l'argument du bundle d'instrumentation |
value |
boolean : valeur de l'argument |
addInstrumentationArg
public void addInstrumentationArg (String name,
String value)Ajoute un argument à inclure dans la commande d'instrumentation.
Doit être appelé avant "run". Si un argument portant le nom donné a déjà été fourni, sa valeur sera remplacée.
| Paramètres | |
|---|---|
name |
String : nom de l'argument du bundle d'instrumentation |
value |
String : valeur de l'argument |
Annuler
public void cancel ()
Demande l'annulation de cette série de tests.
getCoverageOutputType
public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()
Renvoie le type de couverture de test produit par l'exécuteur. Consultez la CoverageOutput.
| Renvoie | |
|---|---|
IRemoteAndroidTestRunner.CoverageOutput |
|
getPackageName
public String getPackageName ()
Renvoie le nom du package de la dernière classe Java ajoutée.
| Renvoie | |
|---|---|
String |
|
getRunnerName
public String getRunnerName ()
Renvoie le nom de la classe UiAutomatorTestRunner par défaut.
| Renvoie | |
|---|---|
String |
|
removeInstrumentationArg
public void removeInstrumentationArg (String name)
Supprime un argument précédemment ajouté.
| Paramètres | |
|---|---|
name |
String : nom de l'argument du bundle d'instrumentation à supprimer |
Exécuter
public void run (ITestRunListener... listeners)
Exécutez cette série de tests.
Méthode pratique pour ERROR(/#run(Collection)).
| Paramètres | |
|---|---|
listeners |
ITestRunListener : écoute les résultats des tests |
| Génère | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
Exécuter
public void run (listeners)
Exécutez cette série de tests.
| Paramètres | |
|---|---|
listeners |
: collection d'écouteurs pour les résultats des tests |
| Génère | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
setAdditionalTestOutputLocation
public void setAdditionalTestOutputLocation (String additionalTestDataPath)
Définit l'emplacement de la sortie de test supplémentaire à copier sur l'hôte avant la désinstallation de l'application de test. Par exemple, les rapports de benchmark générés.
| Paramètres | |
|---|---|
additionalTestDataPath |
String |
setClassName
public void setClassName (String className)
Définit l'exécution des tests uniquement dans cette classe. Doit être appelé avant "run".
| Paramètres | |
|---|---|
className |
String : nom complet de la classe (par exemple, x.y.z) |
setClassNames
public void setClassNames (String[] classNames)
Définit les tests à exécuter uniquement dans les classes fournies. Doit être appelé avant "run".
Si vous fournissez plusieurs classes, vous avez besoin d'un InstrumentationTestRunner compatible avec la syntaxe d'arguments de classes multiples.
| Paramètres | |
|---|---|
classNames |
String : tableau de noms de classes complets (par exemple, x.y.z) |
setCoverage
public void setCoverage (boolean coverage)
Définit le mode de couverture du code de cette exécution de test.
| Paramètres | |
|---|---|
coverage |
boolean |
setCoverageReportLocation
public void setCoverageReportLocation (String arg0)
Définit l'emplacement des rapports de couverture générés.
| Paramètres | |
|---|---|
arg0 |
String |
setDebug
public void setDebug (boolean debug)
Définit le mode débogage de cette exécution de test. Si la valeur est "true", le programme d'exécution de tests Android attend qu'un débogueur soit associé avant de poursuivre l'exécution des tests.
| Paramètres | |
|---|---|
debug |
boolean |
setIgnoreSighup
public void setIgnoreSighup (boolean value)
Définit l'option dans uiautomator pour ignorer SIGHUP.
| Paramètres | |
|---|---|
value |
boolean : ignorer le signal si la valeur est définie sur "true" |
setLogOnly
public void setLogOnly (boolean logOnly)
Définit cette série de tests sur le mode journalisation uniquement, ce qui permet d'ignorer l'exécution des tests.
| Paramètres | |
|---|---|
logOnly |
boolean |
setMaxTimeToOutputResponse
public void setMaxTimeToOutputResponse (long timeout,
TimeUnit unit)Définit le délai maximal autorisé entre la sortie de la commande shell exécutant les tests sur les appareils.
Cela permet de définir un délai d'expiration au cas où les tests se bloqueraient et ne se termineraient jamais. Cette valeur est différente du délai d'expiration normal de la connexion.
Par défaut, aucun délai avant expiration n'est spécifié.
| Paramètres | |
|---|---|
timeout |
long : durée maximale pendant laquelle la commande est autorisée à ne produire aucune réponse. Une valeur de 0 signifie que la méthode attendra indéfiniment (jusqu'à ce que receiver annule l'exécution) la sortie de la commande et ne générera jamais d'exception. |
unit |
TimeUnit : unités pour les valeurs non nulles maxTimeToOutputResponse et maxTimeout. |
setMaxTimeout
public void setMaxTimeout (long maxTimeout,
TimeUnit unit)Définit la durée maximale autorisée pour la fin de l'instrumentation.
Cela permet de définir un délai d'expiration au cas où les tests se bloqueraient et ne se termineraient jamais. Cette valeur est différente du délai d'expiration normal de la connexion.
Par défaut, aucun délai avant expiration n'est spécifié.
| Paramètres | |
|---|---|
maxTimeout |
long : durée maximale pendant laquelle la commande est autorisée à ne produire aucune réponse. Une valeur de 0 signifie que la méthode attendra indéfiniment (jusqu'à ce que receiver annule l'exécution) la sortie de la commande et ne générera jamais d'exception. |
unit |
TimeUnit : unités pour les valeurs non nulles maxTimeToOutputResponse et maxTimeout. |
setMaxtimeToOutputResponse
public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)
Cette méthode est obsolète.
utilisez plutôt setMaxTimeToOutputResponse(long, TimeUnit).
| Paramètres | |
|---|---|
maxTimeToOutputResponse |
int |
setMethodName
public void setMethodName (String className,
String testName)Définit les méthodes de test à exécuter uniquement. Doit être appelé avant "run".
| Paramètres | |
|---|---|
className |
String : nom complet de la classe (par exemple, x.y.z) |
testName |
String : nom de la méthode |
setRunName
public void setRunName (String runName)
Définissez un nom d'exécution personnalisé à signaler à ITestRunListener sur run(.
Si aucune valeur n'est spécifiée, le nom du package est utilisé.
setTestCollection
public void setTestCollection (boolean b)
Définit cette exécution de test sur le mode de collecte de tests. Si la valeur est "true", l'exécution du test sera ignorée et tous les arguments de l'exécuteur appropriés requis pour une collecte de test réussie seront définis.
| Paramètres | |
|---|---|
b |
boolean |
setTestPackageName
public void setTestPackageName (String packageName)
Définit l'exécution de tous les tests du package spécifié. Doit être appelé avant "run".
| Paramètres | |
|---|---|
packageName |
String : nom de package complet (par exemple, x.y.z) |
setTestSize
public void setTestSize (IRemoteAndroidTestRunner.TestSize size)
Définit les ensembles pour n'exécuter que les tests de la taille indiquée. Doit être appelé avant "run".
| Paramètres | |
|---|---|
size |
IRemoteAndroidTestRunner.TestSize : TestSize à exécuter. |
Méthodes protégées
getRunCommand
protected String getRunCommand ()
| Renvoie | |
|---|---|
String |
|
getRunnerPath
protected String getRunnerPath ()
| Renvoie | |
|---|---|
String |
|