2011-07-15 8 views
5

Después herramienta SDK de actualizar a la revisión 12, cuando me conecto a monkeyrunner y método de uso prensa como device.press ('KEYCODE_HOME', 'ABAJO') obtendrá error msg¿Cuál es la tercera argumento de monkeyrunner.press

Rastreo (última llamada más reciente): Archivo "", línea 1, en TypeError: presione: Se requiere el tercer argumento.

Pero compruebo que la prensa solo contenga dos argumentos. ¿Es un problema causado por la nueva versión de la herramienta SDK?

+0

Veo el mismo error. Y verificando las fuentes parece que solo se requieren 2. Muy extraño. – Matthias

+0

Parece un error en monkeyrunner. Simplemente agregue un String en blanco como tercer argumento, y funcionará. – Matthias

Respuesta

3

Para presionar una tecla usando monkey runner necesitas usar algo como device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) no deberías necesitar agregar un tercer argumento.

Tal vez su problema era que estaba utilizando en lugar de 'DOWN'MonkeyDevice.DOWN

+0

tiene el mismo problema, en 2.3.3 – atian25

+0

Eche un vistazo al código fuente del dispositivo monkeyrunner en http://android.git.kernel.org/?p=platform/sdk.git;a=blob;f=monkeyrunner/ src/com/android/monkeyrunner/MonkeyDevice.java basado en lo que puedo decir, parece decir que la prensa solo necesita 2 argumentos. Pero tal vez podría ser útil encontrar lo que está mal. – someoneHuman

+0

Esta solución funciona para mí. –

1

Para pulsar una tecla usando corredor mono necesita utilizar algo así como device.press ('KEYCODE_HOME', 'ABAJO',' ') no lo hiciste obtener el error.

El tercer argumento estará en blanco aquí.

2

En realidad, el tercer argumento es también una cadena que indica el tipo de imprenta. Es una constante en MonkeyDevice: DOWN, UP y DOWN_AND_UP

Si no quieren importar MonkeyDevice a utilizarlo solamente en esto, la cadena correcta que se utilizaría en Monkeyrunner debe ser 'down', 'up' y 'downAndUp'.

Se definen en la clase enum ChimpChat.TouchPressType. Aquí abajo está su código fuente parcial:

public enum TouchPressType { 
    DOWN("down"), UP("up"), DOWN_AND_UP("downAndUp"); 
... 
} 
0

Es necesario añadir MonkeyDevice

Por ejemplo, un comando de pegar se vería así.

device.press('KEYCODE_PASTE',MonkeyDevice.DOWN) 
Cuestiones relacionadas