How to enter values to a text field using monkeyrunner

余生长醉 提交于 2019-12-13 06:05:38

问题


I am trying to enter some text to a text field in my android application using Monkeyrunner. I wrote the code like this:

device.press('KEYCODE_BUTTON_SELECT',MonkeyDevice.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')

while running the first line,the text field is getting selected.But The string "user" is not typing there.But the same code i can run out of my application ,In the android native search field i can enter "user" string using this code. I tried the same with device.type('USER') command also.That is also not working

If i am using this code

device.press ('KEYCODE_DPAD_CENTER', MonkeyDevice.DOWN_AND_UP)

It is taping one center button. (In my application page one button is there in the middle of the page.)


回答1:


Try the following code. It's working in my case:

device.touch(x, y, MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(1)
device.type('USER')

In the command touch put the coordinates of your edittext instead of x and y




回答2:


One of the challenges would be to find the coordinates to touch, mainly using different screen sizes and configurations. AndroidViewClient can help in this respect and you can avoid having to provide the coordinates for the Views and you can simply do:

subject = vc.findViewByIdOrRaise('id/subject')
subject.touch()
subject.type('AVCSample')

this lines were taken from one of the AVC examples: email-send.py




回答3:


Do you have space character as part of the text you're trying to enter? Try without space and see if that works. Then, you can figure out how to deal with space.



来源:https://stackoverflow.com/questions/12741355/how-to-enter-values-to-a-text-field-using-monkeyrunner

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!