나는 로그인이있는 응용 프로그램을 가지고 있는데, 내가하고 싶은 것은 점심 응용 프로그램 입니다. 그리고 나서 응용 프로그램과 상호 작용하여 사용자 이름과 암호를 보냅니다.Monkeyrunner를 사용하여 Android 에뮬레이터에 명령을 보내려면 어떻게해야합니까?
이 스크립트의 문제점은 무엇입니까?
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
# Installs the Android package.
device.installPackage('myproject/bin/LoginApp.apk')
# Runs an activity in the application
device.startActivity(component='com.example.android.myapplication.MainActivity')
# Write username and password
device.press('KEYCODE_BUTTON_SELECT','DOWN_AND_UP')
device.press('KEYCODE_U','DOWN_AND_UP')
device.press('KEYCODE_S','DOWN_AND_UP')
device.press('KEYCODE_E','DOWN_AND_UP')
device.press('KEYCODE_R','DOWN_AND_UP')
device.press('KEYCODE_ENTER','DOWN_AND_UP')
device.press('KEYCODE_P','DOWN_AND_UP')
device.press('KEYCODE_A','DOWN_AND_UP')
device.press('KEYCODE_S','DOWN_AND_UP')
device.press('KEYCODE_S','DOWN_AND_UP')
device.press('KEYCODE_ENTER','DOWN_AND_UP')
device.press('KEYCODE_ENTER','DOWN_AND_UP')
또한 device.type('user')
과 같은 함수 유형으로 시도했습니다. 때때로 잘 작동하지만 가끔은 그렇지 않습니다. 이유를 모르겠습니다.
키보드의 초점이 검색 창이나 다른 곳에있을 수 있습니다. 스크립트에서 선택 버튼을 누르면 텍스트 필드를 선택하여 사용자 이름을 입력합니다.
또 다른 생각은 활동이 시작될 때까지 기다렸다가 올바르게로드 된 다음 상호 작용하도록 명령을 보내야한다는 것입니다. 어떻게해야합니까?