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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Diffuse un intent sur cet appareil, comme si cet intent provenait d'une application.
|
||||||||||
|
Simule un geste de déplacement (appui, appui prolongé, déplacement) sur l'écran de cet appareil.
|
||||||||||
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.
|
|||||||||||
. L'équivalent API de
adb shell getprop <key>. This is provided for use
by platform developers.
|
|||||||||||
|
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é.
|
||||||||||
|
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.
|
||||||||||
|
Envoie l'événement touche spécifié par type à la touche spécifiée par un code de touche.
|
||||||||||
|
Redémarre cet appareil dans le bootloader spécifié par bootloadType.
|
||||||||||
|
Supprime le package spécifié de cet appareil, y compris ses données et son cache.
|
||||||||||
Exécute une commande d'interface système
adb et renvoie le résultat, si disponible.
|
|||||||||||
|
Lance une activité sur cet appareil en envoyant un intent construit à partir des arguments fournis.
|
||||||||||
MonkeyImage
|
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.
|
||||||||||
|
Envoie un événement tactile spécifié par type à l'emplacement d'écran spécifié par x et y.
|
||||||||||
|
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 .
|
||||||||||
|
Active l'écran de cet appareil.
|
Constantes
chaîne DOWN
chaîne UP
chaîne DOWN_AND_UP
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 siInstrumentationTestRunner
é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
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 |
||
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. |