MonkeyDevice

Une classe monkeyrunner représentant un appareil ou un émulateur auquel la poste de travail exécutant monkeyrunner peut accéder.

Cette classe sert à contrôler un appareil Android ou un émulateur. Ces méthodes envoient des événements d'interface utilisateur, récupèrent des informations, installent et suppriment des applications et exécutent des applications.

Normalement, il n'est pas nécessaire de créer une instance de MonkeyDevice. Utilisez plutôt MonkeyRunner.waitForConnection() pour créer un objet à partir d'une connexion à un appareil ou à un émulateur. Par exemple, n'utilisez pas :

newdevice = MonkeyDevice()

Utilisez plutôt :

newdevice = MonkeyRunner.waitForConnection()

Résumé

Constantes
chaîne DOWN Utilisez cette constante avec l'argument type de press() ou touch() pour envoyer un événement "DOWN".
chaîne UP Utilisez cette constante avec l'argument type de press() ou touch() pour envoyer un événement "UP".
chaîne DOWN_AND_UP Utilisez cette constante avec l'argument type de press() ou touch() pour envoyer un événement "DOWN" suivi immédiatement d'un événement "UP".
Méthodes
vide broadcastIntent (chaîne URI, chaîne action, chaîne données, chaîne mimetype, iterable catégories dictionary informations supplémentaires, component composant, iterable indicateurs)
Diffuse un intent sur cet appareil, comme si cet intent provenait d'une application.
vide faire glisser (tuple début,tuple fin, float durée, entier pas)
Simule un geste de déplacement (appui, appui prolongé, déplacement) sur l'écran de cet appareil.
              object getProperty (chaîne touche)
Porte le nom d'une variable d'environnement système qui renvoie sa valeur pour cet appareil. Les noms de variable disponibles sont indiqués dans la description détaillée de cette méthode.
              object getSystemProperty (chaîne touche)
. L'équivalent API de adb shell getprop <key>. This is provided for use by platform developers.
vide installPackage (chaîne chemin d'accès)
Installe l'application Android ou le package test contenu dans packageFile sur cet appareil. Si l'application ou le package test est déjà installé, il est remplacé.
dictionary instrument (chaîne className, dictionary args)
Exécute le composant spécifié sous l'instrumentation Android, puis renvoie les résultats dans un dictionnaire dont le format exact est déterminé par le composant en cours d'exécution. Le composant doit déjà être présent sur cet appareil.
vide appuyez sur (chaîne nom, dictionary type)
Envoie l'événement touche spécifié par type à la touche spécifiée par un code de touche.
vide redémarrage (chaîne dans)
Redémarre cet appareil dans le bootloader spécifié par bootloadType.
vide removePackage (chaîne package)
Supprime le package spécifié de cet appareil, y compris ses données et son cache.
              object interface système (chaîne cmd)
Exécute une commande d'interface système adb et renvoie le résultat, si disponible.
vide startActivity (chaîne URI, chaîne action, chaîne données, chaîne mimetype, iterable catégories dictionary informations supplémentaires, component composant, flags)
Lance une activité sur cet appareil en envoyant un intent construit à partir des arguments fournis.
MonkeyImage takeSnapshot()
Capture la totalité de la mémoire tampon écran de cet appareil, générant un objet  MonkeyImage contenant une capture de l'écran actuel.
vide toucher (entier x, entier y, entier type)
Envoie un événement tactile spécifié par type à l'emplacement d'écran spécifié par x et y.
vide type (chaîne message)
Envoie les caractères contenus dans le message à cet appareil comme s'ils avaient été saisis sur le clavier de l'appareil. Cela équivaut à appeler press() pour chaque code de touche dans message en utilisant le type d'événement de touche DOWN_AND_UP.
vide activer ()
Active l'écran de cet appareil.

Constantes

chaîne DOWN

Valeur press() ou touch(). Indique qu'un type d'événement "DOWN" doit être envoyé à l'appareil, ce qui correspond à un appui sur une touche ou un tapotement sur l'écran.

chaîne UP

Valeur press() ou touch(). Indique qu'un type d'événement "UP" doit être envoyé à l'appareil, ce qui correspond au relâchement d'une touche ou à un détachement sur l'écran.

chaîne DOWN_AND_UP

Valeur press(), touch() ou type(). Spécifie qu'un événement de type "DOWN" suivi d'un événement de type "UP" doit être envoyés à l'appareil, correspondant à la saisie en appuyant sur une touche ou à un clic sur l'écran.

Méthodes publiques

vide broadcastIntent ( chaîne URI, chaîne action, chaîne données, chaîne mimetype, iterable catégories dictionary informations supplémentaires, component composant, iterable indicateurs)

Diffuse un intent sur cet appareil, comme si cet intent provenait d'une application. Consultez la section Intent pour en savoir plus sur les arguments.

Arguments
URI URI de l'intent. (voir Intent.setData()).
action Action de cet intent (voir Intent.setAction()).
données URI de données pour cet intent (voir Intent.setData()).
mimetype Type MIME pour l'intent (voir Intent.setType()).
catégories Une structure de données itérable contenant des chaînes qui définissent des catégories pour cet intent (voir Intent.addCategory()).
informations supplémentaires Dictionnaire de données supplémentaires pour cet intent (voir Intent.putExtra() à titre d'exemple).

La touche de chaque élément du dictionnaire doit être une chaîne. La valeur de l'élément peut correspondre à n'importe quel type de données simples ou structurées.

composant Composant de cet intent (voir ComponentName). Si vous utilisez cet argument, l'intent sera dirigé vers une classe spécifique au sein d'un package Android spécifique.
indicateurs Structure de données itérable contenant des indicateurs qui contrôlent la manière dont l'intent est géré (voir Intent.setFlags()).

vide faire glisser ( tuple départ, tuple fin, float durée, entier pas)

Simule un geste de déplacement (appui, appui prolongé, déplacement) sur l'écran de cet appareil.

Arguments
départ Point de départ du geste de déplacement, sous la forme d'un tuple (x,y), où x et y sont des entiers.
fin Point d'arrivée du geste de déplacement, sous la forme d'un tuple (x,y), où x et y sont des entiers.
durée La durée du geste de déplacement en secondes. La valeur par défaut est de 1.0 secondes.
pas Nombre de pas à effectuer pour interpoler des points. La valeur par défaut est 10.

objet getProperty (chaîne touche)

Porte le nom d'une variable d'environnement système qui renvoie sa valeur pour cet appareil.

Arguments
touche Nom de la variable d'environnement système. Les noms de variable disponibles sont indiqués dans le tableau 1. Noms de variable de propriété à la fin de cette section.
Retours
  • Valeur de la variable. Le format des données varie en fonction de la variable demandée.

objet getSystemProperty (chaîne touche)

Synonyme de getProperty().

Arguments
touche Nom de la variable d'environnement système. Les noms de variable disponibles sont indiqués dans le tableau 1. Noms des variables de propriété.
Retours
  • Valeur de la variable. Le format des données varie en fonction de la variable demandée.

vide installPackage (chaîne chemin d'accès)

Installe l'application Android ou le package de test contenu dans packageFile sur cet appareil. Si l'application ou le package de test est déjà installé, il est remplacé.

Arguments
chemin d'accès Chemin d'accès complet et nom du fichier .apk à installer.

dictionnaire instrument (chaîne className,dictionnaire args)

Exécute le composant spécifié avec l'instrumentation Android et renvoie les résultats dans un dictionnaire dont le format exact est déterminé par le composant en cours d'exécution. Le composant doit déjà être présent sur cet appareil.

Utilisez cette méthode pour démarrer un scénario de test qui utilise l'une des classes de scénario de test d'Android. Consultez la page Principes de base des tests (Testing Fundamentals) pour en savoir plus sur les tests unitaires avec le framework de test Android.

Arguments
className Nom d'un composant Android déjà installé sur cet appareil, sous la forme par défaut "packagename/classname", où "packagename" est le nom du package Android d'un fichier .apk sur cet appareil et "classname" le nom de classe d'un composant Android (Activity, ContentProvider, Service ou BroadcastReceiver) dans ce fichier. "packagename" et "classname" doivent être complets. Pour en savoir plus, consultez ComponentName.
args Un dictionnaire contenant des indicateurs et leurs valeurs. Celles-ci sont transmises au composant pendant le démarrage. Si l'indicateur n'accepte pas une valeur, définissez sa valeur de dictionnaire dans une chaîne vide.
Retours
  • Un dictionnaire contenant la sortie du composant. Les contenus du dictionnaire sont définis par le composant lui-même.

    Si vous utilisez InstrumentationTestRunner comme nom de classe dans l'argument componentName, le dictionnaire de résultats contient la touche unique "stream". La valeur de "stream" est une chaîne contenant le résultat du test, comme si InstrumentationTestRunner était exécuté à partir de la ligne de commande. Le format de ce résultat est décrit dans la section Tests dans d'autres IDE (Testing in Other IDEs).

vide appuyer (chaîne nom, entier)

Envoie l'événement de touche spécifié par type à la touche spécifiée par keycode.

Arguments
nom Le nom du code de touche à envoyer. Consultez KeyEvent pour obtenir une liste des noms de code de touche. Utilisez le nom du code de touche, et non sa valeur d'entier.
type Type d'événement de touche à envoyer. Les valeurs autorisées sont DOWN, UP et DOWN_AND_UP.

vide redémarrer (chaîne bootloadType)

Redémarre cet appareil dans le bootloader spécifié par bootloadType.

Arguments
dans Type de bootloader dans lequel redémarrer. Les valeurs autorisées sont "bootloader", "recovery" et "None".

vide removePackage (chaîne package) .

Supprime le package spécifié de cet appareil, y compris ses données et son cache.

Arguments
package Nom du package Android d'un fichier .apk sur cet appareil.

objet interface système (chaîne cmd)

Exécute une commande d'interface système adb et renvoie le résultat, si disponible.

Arguments
cmd Commande à exécuter dans l'interface système adb La forme de ces commandes est décrite dans la section Android Debug Bridge.
Retours
  • Résultats de la commande, le cas échéant. Le format des résultats est déterminé par la commande.

vide startActivity ( chaîne URI, chaîne action, chaîne données, chaîne mimetype, itérable catégories dictionnaire informations supplémentaires, composant composant, itérable indicateurs)

Lance une activité sur cet appareil en envoyant un intent construit à partir des arguments fournis.

Arguments
URI URI de l'intent. (voir Intent.setData()).
action Action pour l'intent (voir Intent.setAction()).
données URI de données pour l'intent (voir Intent.setData()).
mimetype Type MIME pour l'intent (voir Intent.setType()).
catégories Structure de données itérable contenant des chaînes qui définissent des catégories pour l'intent (voir Intent.addCategory()).
informations supplémentaires Un dictionnaire de données supplémentaires pour l'intent (voir Intent.putExtra() à titre d'exemple).

La touche de chaque élément du dictionnaire doit être une chaîne. La valeur de l'élément peut correspondre à n'importe quel type de données simples ou structurées.

composant Composant pour l'intent (voir ComponentName). L'utilisation de cet argument dirige l'intent vers une classe spécifique dans un package Android spécifique.
indicateurs Structure de données itérable contenant des indicateurs qui contrôlent la manière dont l'intent est géré (voir Intent.setFlags()).

MonkeyImage takeSnapshot ()

Capture la totalité de la mémoire tampon écran de cet appareil, générant une capture d'écran de la vue actuelle.

Retours
  • Un objet MonkeyImage contenant l'image de la vue actuelle.

vide appuyer ( entier x, entier y, chaîne type)

Envoie un événement tactile spécifié par type à l'emplacement d'écran spécifié par x et y.

Arguments
x Position horizontale de l'appui en pixels de l'appareil, commençant par la gauche de l'écran dans son orientation actuelle.
y Position verticale de l'appui en pixels de l'appareil, commençant par le haut de l'écran dans son orientation actuelle.
type Type d'événement de touche à envoyer. Les valeurs autorisées sont DOWN, UP et DOWN_AND_UP.

vide type (chaîne message)

Envoie les caractères contenus dans le message à cet appareil comme s'ils avaient été saisis sur le clavier de l'appareil. Cela équivaut à appeler press() pour chaque code de touche dans message en utilisant le type d'événement de touche DOWN_AND_UP.

Arguments
message Chaîne contenant les caractères à envoyer.

vide activer ()

Active l'écran de cet appareil.


Annexe

Tableau 1. Noms des variables de propriété utilisés avec getProperty() etgetSystemProperty().

Groupe de propriétés Propriété Description Notes
build board Nom de code de la carte système de l'appareil Voir Build
brand Opérateur ou fournisseur pour lequel l'OS est personnalisé.
device Nom de conception de l'appareil.
fingerprint Un identifiant unique pour le build en cours d'exécution.
host
ID Numéro ou libellé d'une liste de modifications.
model Nom de l'appareil visible par l'utilisateur final.
product Nom global du produit.
tags Tags décrivant le build, séparés par une virgule, par exemple "non signé" et "débogage".
type Type de build, par exemple "user" ou "eng".
user
CPU_ABI Nom de l'ensemble d'instructions de code natif, sous la forme type de processeur plus convention ABI.
manufacturer Fabricant du produit/matériel.
version.incremental Code interne utilisé par le système de contrôle du code source pour représenter cette version du logiciel.
version.release Nom de cette version logicielle visible par l'utilisateur.
version.sdk Version du SDK visible par l'utilisateur associée à cette version de l'OS.
version.codename Nom de code de développement actuel, ou "REL" si cette version du logiciel a été publiée.
display width Largeur d'affichage de l'appareil en pixels. Pour en savoir plus, consultez DisplayMetrics.
height Hauteur d'affichage de l'appareil en pixels.
density Densité logique de l'affichage. Il s'agit d'un facteur permettant d'adapter les unités DIP (pixel indépendant de la densité) à la résolution de l'appareil. Le DIP est ajusté de sorte qu'un DIP équivaut à un pixel sur un écran de 160 pixels par pouce. Par exemple, sur un écran à 160 ppp, la densité est de 1,0. Pour un écran à 120 ppp, la densité est de 0,75.

Cette valeur ne correspond pas exactement à la taille réelle de l'écran, mais elle est ajustée pour se conformer aux changements importants du PPP de l'écran. Pour en savoir plus, consultez density.

am.current package Nom de package Android du package en cours d'exécution. Les touches am.current renvoient des informations sur l'activité en cours d'exécution.
action Action de l'activité actuelle. Cette valeur a le même format que l'attribut name de l'élément action dans un fichier manifeste de package.
comp.class Nom de classe du composant qui a lancé l'activité en cours. Pour en savoir plus, consultez comp.package.
comp.package Nom du package du composant qui a lancé l'activité en cours. Un composant est spécifié par un nom de package et le nom de la classe que le package contient.
data Données (si disponibles) contenues dans l'intent ayant lancé l'activité en cours.
categories Catégories spécifiées par l'intent qui a lancé l'activité actuelle.
clock realtime Nombre de millisecondes écoulées depuis le redémarrage de l'appareil, temps de sommeil profond inclus. Pour en savoir plus, consultez SystemClock.
uptime Nombre de millisecondes écoulées depuis le redémarrage de l'appareil, hors temps de sommeil profond.
millis Durée actuelle depuis l'epoch UNIX, en millisecondes.