У меня есть приложение с логином, я хочу сделать приложение-ланч, а затем взаимодействовать с приложением, отправляя имя пользователя и пароль.
Что не так с этим скриптом?
# 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')
.Иногда работает хорошо, но иногда нет, я не знаю почему.
Может быть, фокус клавиатуры находится в строке поиска или где-то еще.В сценарии, когда я нажимаю кнопку выбора, я пытаюсь выбрать текстовое поле для ввода имени пользователя.
Другая мысль, которая приходит мне в голову, заключается в том, что мне нужно подождать, пока начнется действие /загружается правильно, а затем отправляет команды для взаимодействия.Как я могу это сделать?