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. UI Automator test 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 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(Collection<ITestRunListener> listeners)
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 exécution de test sur le mode journal uniquement, ce qui ignore l'exécution du test. |
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 le test, collecter les résultats, etc.) |
jarPaths |
String : chemins d'accès aux fichiers JAR où se trouvent les scénarios 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. Si la valeur est null, 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 les 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 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 |
run
public void run (ITestRunListener... listeners)
Exécutez cette série de tests.
Méthode pratique pour run(Collection).
| Paramètres | |
|---|---|
listeners |
ITestRunListener : écoute les résultats des tests |
| Génère | |
|---|---|
AdbCommandRejectedException |
|
IOException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
run
public void run (Collection<ITestRunListener> listeners)
Exécutez cette série de tests.
| Paramètres | |
|---|---|
listeners |
Collection : collection d'écouteurs pour les résultats des tests |
| Génère | |
|---|---|
AdbCommandRejectedException |
|
IOException |
|
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 plusieurs classes.
| Paramètres | |
|---|---|
classNames |
String : tableau de noms de classe 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", l'exécuteur 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 exécution de test sur le mode journal uniquement, ce qui ignore l'exécution du test.
| 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 resteraient bloqués et ne se termineraient jamais. Ce délai est différent du délai d'inactivité 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 pas générer de résultat. Une valeur de 0 signifie que la méthode attendra indéfiniment (jusqu'à ce que receiver annule l'exécution) le résultat 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 resteraient bloqués et ne se termineraient jamais. Ce délai est différent du délai d'inactivité 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 aucun résultat. Une valeur de 0 signifie que la méthode attendra indéfiniment (jusqu'à ce que receiver annule l'exécution) le résultat 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(ITestRunListener).
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 |
|