I have an application with a login, what I want to do is lunch de application and then interact with the app, sending the username and password.
What is wrong with this script?
# 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')
I also tried with the function type, like device.type('user')
.
Sometimes works well, but sometimes doesn't, I don“t know why.
May be, the focus of the keyboard is in the search bar or somewhere else. In the script,When I press the select button, what I am trying is to select the textfield to enter the username.
Another idea that come to my mind is that, I have to wait until the activity starts/loads correctly and then send the commands to interact. How can I do that?