Monkeyrunner.sleep () всегда Ошибка отправки события прессы

1

я использую android MonkeyRunner сделать некоторые испытания

при каждом запуске Monkeyruuner.sleep() будет FAIL

как это

from com.android.monkeyrunner import MonkeyRunner
device = MonkeyRunner.waitForConnection()
device.press('KEYCODE_ENTER', 'DOWN_AND_UP')
MonkeyRunner.sleep(10)
device.press('KEYCODE_ENTER', 'DOWN_AND_UP')

В секунду

device.press('KEYCODE_ENTER', 'DOWN_AND_UP')

всегда сбой

[main] [com.android.chimpchat.adb.AdbChimpDevice] Error sending press event: KEYCODE_ENTER DOWN_AND_UP

пожалуйста, помогите поблагодарить "Спасибо всем!

но даже используя time.sleep() или MonkeyDevice.DOWN_AND_UP всегда имеют неправильные

мой код оценки

from com.android.monkeyrunner import MonkeyRunner
import time 
device = MonkeyRunner.waitForConnection()
device.press('KEYCODE_DPAD_RIGHT', device.DOWN)
device.press('KEYCODE_DPAD_RIGHT', device.UP)
time.sleep(2)
device.press('KEYCODE_DPAD_RIGHT', device.DOWN)
device.press('KEYCODE_DPAD_RIGHT', device.UP)
time.sleep(2)
device.press('KEYCODE_DPAD_RIGHT', device.DOWN)
device.press('KEYCODE_DPAD_RIGHT', device.UP)
time.sleep(2)

в три раза вниз, всегда неправильно

журнал

120718 09:50:51.744:S [main] [com.android.chimpchat.adb.AdbChimpDevice] Error sending press event: KEYCODE_DPAD_RIGHT DOWN
120718 09:50:51.744:S [main][com.android.chimpchat.adb.AdbChimpDevice]java.net.SocketException: Software caused connection abort: recv failed
120718 09:50:51.744:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.net.SocketInputStream.socketRead0(Native Method)
120718 09:50:51.744:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.net.SocketInputStream.read(Unknown Source)
120718 09:50:51.744:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at

БЛАГОДАРЯ!

Теги:
monkeyrunner

2 ответа

3

Ваш код ключа соответствует API.

Однако у меня была аналогичная проблема с функцией MonkeyRunner.sleep (может быть ошибка в некоторых сборках Android).

В качестве обходного пути я использую функцию time.sleep, как указано ниже.

import time
from com.android.monkeyrunner import MonkeyRunner
device = MonkeyRunner.waitForConnection()
device.press('KEYCODE_ENTER', 'DOWN_AND_UP')
time.sleep(10)
device.press('KEYCODE_ENTER', 'DOWN_AND_UP')

Спасибо.

  • 0
    Документация по API неверна. device.press () по умолчанию будет использовать down_and_up, если задана неверная опция. Вот почему строки будут работать. Попробуйте выполнить device.press ('KEYCODE_ENTER', 'DOWN'), а затем device.press ('KEYCODE_ENTER', 'UP'). Это должно вести себя как один down_and_up, однако вы получите два нажатия клавиши ввода. Однако выполнение device.press ('KEYCODE_ENTER', MonkeyDevice.DOWN) и затем device.press ('KEYCODE_ENTER', MonkeyDevice.UP) ведет себя нормально.
  • 0
    Кроме того, похоже, что документация по API была исправлена. См. Developer.android.com/tools/help/monkeyrunner_concepts.html
1

Это не провал из-за Monkeyruuner.sleep(), в device.press 'DOWN_AND_UP' должен быть фактически MonkeyDevice.DOWN_AND_UP

Ещё вопросы

Сообщество Overcoder
Наверх
Меню