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( 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 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 setMaxTimeToOutputResponse(long, TimeUnit).

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 à ITestRunListener sur run().

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