Es una clase de monkeyrunner que representa un dispositivo o emulador al que se puede acceder desde la estación de trabajo que ejecuta monkeyrunner
.
Esta clase se usa para controlar un dispositivo o emulador de Android. Los métodos envían eventos de IU, recuperan información y quitan, instalan y ejecutan aplicaciones.
Por lo general, no es necesario crear una instancia de MonkeyDevice
. En su lugar, usa
MonkeyRunner.waitForConnection()
para crear un objeto nuevo desde una conexión a un dispositivo o emulador. Por ejemplo, en lugar de usar lo siguiente:
newdevice = MonkeyDevice()
usa esto:
newdevice = MonkeyRunner.waitForConnection()
Resumen
Constantes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
string | DOWN |
Úsalo con el argumento type de press() o touch()
para enviar un evento DOWN.
|
|||||||||
string | UP |
Úsalo con el argumento type de press() o touch()
para enviar un evento UP.
|
|||||||||
string | DOWN_AND_UP |
Úsalo con el argumento type de press() o touch()
para enviar un evento DOWN inmediatamente seguido de un evento UP.
|
Métodos | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Transmite una instancia de Intent al dispositivo, como si la instancia de Intent proviniera de una aplicación.
|
|||||||||||
Simula un gesto de arrastre (mantener presionado y mover) en la pantalla del dispositivo.
|
|||||||||||
|
Según el nombre proporcionado de una variable de entorno del sistema, muestra el valor correspondiente al dispositivo.
Los nombres de variables disponibles se muestran en la descripción detallada de este método.
|
||||||||||
|
. Es el equivalente de API de
adb shell getprop <key>. This is provided for use
by platform developers.
. |
||||||||||
Instala en este dispositivo la aplicación para Android o el paquete de prueba contenido en packageFile. Si ya están instalados la aplicación o el paquete de prueba, se reemplazarán.
|
|||||||||||
|
Ejecuta el componente especificado según la instrumentación de Android y muestra los resultados en un diccionario cuyo formato exacto está indicado por el componente que se ejecuta. El componente ya debe estar presente en el dispositivo.
|
||||||||||
Envía el evento de clave especificado por tipo a la clave especificada por el código de clave.
|
|||||||||||
Reinicia el dispositivo en el bootloader especificado por bootloadType.
|
|||||||||||
Borra el paquete especificado de este dispositivo, incluidos los datos y la caché.
|
|||||||||||
|
Ejecuta un comando shell
adb y muestra el resultado, si corresponde. |
||||||||||
Inicia una actividad en este dispositivo mediante el envío de una instancia de intent desarrollada a partir de los argumentos proporcionados.
|
|||||||||||
MonkeyImage
|
Captura el búfer de la pantalla completa del dispositivo, y da paso al objeto
MonkeyImage
que contiene una captura de la pantalla actual.
|
||||||||||
Envía un evento de entrada táctil, especificado por tipo, a la ubicación de la pantalla especificada por "x" e "y".
|
|||||||||||
Envía los caracteres contenidos en el mensaje a este dispositivo, como si se hubieran ingresado desde el teclado del dispositivo. Esto equivale a llamar a
press() para cada código clave en message mediante el tipo de evento clave DOWN_AND_UP .
|
|||||||||||
Activa la pantalla del dispositivo.
|
Constantes
string DOWN
string UP
string DOWN_AND_UP
Métodos públicos
void broadcastIntent ( URI de string, acción de string, datos de string, mimetype de string, categorías de iterable extras de dictionary, componente component, marcas de iterable)
Transmite una instancia de Intent al dispositivo, como si el Intent proviniera de una aplicación. Consulta Intent
para obtener más información sobre los argumentos.
Argumentos
uri |
Es el URI de la instancia de intent
(consulta Intent.setData() ).
|
---|---|
action |
Es la acción de este Intent (consulta Intent.setAction() ).
|
datos |
Es el URI de datos de este Intent (consulta Intent.setData() ).
|
mimetype |
Es el tipo de MIME del Intent (consulta Intent.setType() ).
|
categories |
Es una estructura de datos iterable que contiene strings que definen categorías para este Intent (consulta Intent.addCategory() ).
|
extras |
Es un diccionario de datos adicionales para este Intent (consulta Intent.putExtra() para ver un ejemplo).
La clave para cada elemento del diccionario debe ser una string. El valor del elemento puede ser cualquier tipo de datos simples o estructurados. |
component |
Es el componente de este Intent (consulta ComponentName ). Si usas este argumento, dirigirás el Intent a una clase específica dentro de un paquete específico de Android.
|
flags |
Es una estructura de datos iterable con marcas que controlan la administración del Intent (consulta Intent.setFlags() ).
|
void drag ( inicio de tuple, fin de tuple, duración de float, pasos de integer)
Simula un gesto de arrastre (mantener presionado y mover) en la pantalla del dispositivo.
Argumentos
iniciar | Es el punto de partida del gesto de arrastre, en formato de tuple (x,y), donde x e y son integers. |
---|---|
end | Es el punto final del gesto de arrastre, en formato de tuple (x,y), donde x e y son integers. |
duración | Es la duración del gesto de arrastre en segundos. El valor predeterminado es 1.0 segundos. |
steps | Es el número de pasos para seguir cuando se interpolan puntos. El valor predeterminado es 10. |
object getProperty (clave de string)
Según el nombre proporcionado de una variable de entorno del sistema, muestra el valor correspondiente al dispositivo.
Argumentos
key | Es el nombre de la variable de entorno del sistema. Los nombres de las variables disponibles se muestran en la Tabla 1: Nombres de variables de propiedades al final de este tema. |
---|
Resultado que se muestra
- Se muestra el valor de la variable. El formato de los datos varía según la variable solicitada.
object getSystemProperty (clave de string)
Es un sinónimo de getProperty()
.
Argumentos
key | Es el nombre de la variable de entorno del sistema. Los nombres de las variables disponibles se muestran en la Tabla 1: Nombres de variables de propiedades. |
---|
Resultado que se muestra
- Se muestra el valor de la variable. El formato de los datos varía según la variable solicitada.
void installPackage (ruta de acceso de string)
Instala en este dispositivo la aplicación para Android o el paquete de prueba contenido en packageFile. Si ya están instalados la aplicación o el paquete de prueba, se reemplazarán.
Argumentos
path |
Es la ruta de acceso y nombre de archivo completos del archivo .apk para instalar.
|
---|
dictionary instrument ( nombre de clase de string, argumentos de dictionary)
Ejecuta el componente especificado según la instrumentación de Android y muestra los resultados en un diccionario cuyo formato exacto está indicado por el componente en ejecución. El componente ya debe estar presente en el dispositivo.
Utiliza este método para iniciar un caso de prueba que use una de las clases de casos de prueba de Android. Consulta Fundamentos de prueba para obtener más información sobre la prueba de unidades con el framework de pruebas de Android.
Argumentos
className |
Es el nombre de un componente de Android que ya está instalado en el dispositivo, en el formato estándar packagename/classname, en el que packagename es el nombre de paquete de Android de un archivo .apk en este dispositivo, y classname es el nombre de clase de un componente de Android (Activity, ContentProvider, Service o BroadcastReceiver) de ese archivo. Tanto packagename como classname deben ser nombres completamente calificados. Consulta ComponentName para obtener más información.
|
---|---|
args | Es un diccionario que contiene marcas y sus valores. Estos se pasan al componente cuando se inicia. Si la marca no toma un valor, configura el valor de diccionario en una string vacía. |
Resultado que se muestra
-
Se muestra diccionario que contiene la salida del componente. El contenido del diccionario está definido por el componente.
Si usas
InstrumentationTestRunner
como nombre de la clase en el argumento componentName, el diccionario de resultados contendrá la clave única "stream". El valor de "stream" es una string que contiene el resultado de la prueba, como si se ejecutaraInstrumentationTestRunner
desde la línea de comandos. En Pruebas en otros IDE, se describe el formato de este resultado.
void press (nombre de string, tipo de integer)
Envía el evento de clave especificado por type
a la clave especificada por keycode
.
Argumentos
name |
Es el nombre del código de clave que se enviará. Consulta KeyEvent para obtener una lista de los nombres de los códigos de clave. Usa el nombre del código de clave, no el valor entero.
|
---|---|
type |
Es el tipo de evento de clave que se enviará. Los valores permitidos son
DOWN , UP y DOWN_AND_UP .
|
void reboot (bootloadType de string)
Reinicia el dispositivo en el bootloader especificado por bootloadType
.
Argumentos
into | Es el tipo de bootloader en el que se reiniciará. Los valores permitidos son "bootloader", "recovery" o "None". |
---|
void removePackage (paquete de string)
Borra el paquete especificado de este dispositivo, incluidos los datos y la caché.
Argumentos
package |
Es el nombre del paquete de Android de un archivo .apk de este dispositivo.
|
---|
object shell (cmd de string)
Ejecuta un comando shell adb
y muestra el resultado, si corresponde.
Argumentos
cmd |
Es el comando que se ejecutará en el shell adb . La forma de estos comandos se describe en el tema Android Debug Bridge.
|
---|
Resultado que se muestra
- Se muestran los resultados del comando, si corresponde. El formato de los resultados está determinado por el comando.
void startActivity ( URI de string, acción de string, datos de string, mimetype de string, categorías de iterable extras de dictionary, componente component, marcas de iterable)
Inicia una actividad en este dispositivo mediante el envío de una instancia de Intent desarrollada a partir de los argumentos proporcionados.
Argumentos
uri |
Es el URI de la instancia de intent
(consulta Intent.setData() ).
|
---|---|
action |
Es la acción del Intent (consulta Intent.setAction() ).
|
datos |
Es el URI de datos del Intent (consulta Intent.setData() ).
|
mimetype |
Es el tipo de MIME del Intent (consulta Intent.setType() ).
|
categories |
Es una estructura de datos iterable que contiene strings que definen categorías del Intent (consulta Intent.addCategory() ).
|
extras |
Es un diccionario de datos adicionales del Intent (consulta Intent.putExtra() para ver un ejemplo).
La clave para cada elemento del diccionario debe ser una string. El valor del elemento puede ser cualquier tipo de datos simples o estructurados. |
component |
Es el componente para el Intent (consulta ComponentName ). Si usas este argumento, dirigirás el Intent a una clase específica dentro de un paquete específico de Android.
|
flags |
Es una estructura de datos iterable con marcas que controlan la administración del Intent (consulta Intent.setFlags() ).
|
MonkeyImage
takeSnapshot
()
Captura el búfer de la pantalla completa del dispositivo y da paso a una captura de la pantalla actual.
Resultado que se muestra
- Se muestra el objeto de MonkeyImage que contiene la imagen de la pantalla actual.
void touch ( integer x, integer y, tipo de string)
Envía un evento táctil, especificado por tipo, a la ubicación de la pantalla especificada por x e y.
Argumentos
x | Es la posición horizontal de entrada táctil en píxeles reales del dispositivo, comenzando por la parte izquierda de la pantalla en su orientación actual. |
---|---|
y | Es la posición vertical de entrada táctil en píxeles reales del dispositivo, comenzando por la superior de la pantalla en su orientación actual. |
type |
Es el tipo de evento de clave que se enviará. Los valores permitidos son
DOWN , UP y DOWN_AND_UP .
|
void type (mensaje de string)
Envía los caracteres contenidos en el mensaje a este dispositivo, como si se hubieran ingresado desde el teclado del dispositivo. Esto equivale a llamar a press()
para cada clave de código en message
mediante el tipo de evento de clave DOWN_AND_UP
.
Argumentos
message | Es una string que contiene los caracteres que se enviarán. |
---|
void wake ()
Activa la pantalla del dispositivo.
Apéndice
Grupo de propiedades | Propiedad | Descripción | Notas |
---|---|---|---|
build |
board |
Es el nombre de código correspondiente a la placa del sistema del dispositivo. | Ver Build |
brand |
Es el operador o proveedor para el que se personaliza el sistema operativo. | ||
device |
Es el nombre del diseño del dispositivo. | ||
fingerprint |
Es el identificador único correspondiente a la compilación en ejecución. | ||
host |
|||
ID |
Es el número o la etiqueta de la lista de cambios. | ||
model |
Es el nombre visible correspondiente al usuario final del dispositivo. | ||
product |
Es el nombre general del producto. | ||
tags |
Son etiquetas separadas por comas que describen la compilación, como "sin firmar" y "depuración". | ||
type |
Es el tipo de compilación, como "user" o "eng". | ||
user |
|||
CPU_ABI |
Es el nombre del conjunto de instrucciones del código nativo, en forma de tipo de CPU más convención de ABI. | ||
manufacturer |
Es el fabricante del producto o hardware. | ||
version.incremental |
Es el código interno que usa el sistema de control de origen para representar esta versión del software. | ||
version.release |
Es el nombre visible correspondiente al usuario de esta versión del software. | ||
version.sdk |
Es la versión del SDK visible para el usuario asociada con esta versión de SO. | ||
version.codename |
Es el nombre interno del desarrollo actual o "REL", si se lanzó esta versión del software. | ||
display |
width |
Es el ancho de la pantalla del dispositivo en píxeles. |
Consulta DisplayMetrics para obtener más detalles.
|
height |
Es la altura de la pantalla del dispositivo en píxeles. | ||
density |
Es la densidad lógica de la pantalla. Es un factor que ajusta las unidades DIP (píxel independiente de la densidad) a la resolución del dispositivo. La unidad DIP se ajusta de modo que 1 DIP sea equivalente a un píxel en una pantalla de 160 píxeles por pulgada. Por ejemplo, en una pantalla de 160 dpi, densidad = 1.0, mientras que en una pantalla de 120 dpi, densidad = .75.
El valor no respeta exactamente el tamaño real de la pantalla, pero se ajusta para adaptarse a cambios importantes en los DPI de la pantalla. Consulta |
||
am.current |
package |
Es el nombre del paquete de Android que está en ejecución. |
Las claves am.current muestran información sobre la actividad en ejecución.
|
action |
Es la acción de la actividad actual. Esto tiene el mismo formato que el atributo name del elemento action en un manifiesto de paquete.
|
||
comp.class |
Es el nombre de clase del componente que inició la actividad actual. Consulta comp.package para obtener más información. |
||
comp.package |
Es el nombre del paquete del componente que inició la actividad actual. Es un componente que se especifica mediante un nombre de paquete y el nombre de la clase que contiene el paquete. | ||
data |
Son datos (si corresponde) contenidos en la instancia de Intent que inició la actividad actual. | ||
categories |
Son categorías especificadas por la instancia de Intent que inició la actividad actual. | ||
clock |
realtime |
Es la cantidad de milisegundos desde que se reinició el dispositivo, incluido el tiempo de suspensión profunda. |
Consulta SystemClock para obtener más información.
|
uptime |
Es la cantidad de milisegundos desde que se reinició el dispositivo, sin incluir el tiempo de suspensión profunda. | ||
millis |
Es la hora actual desde el tiempo UNIX, en milisegundos. |