我正在尝试使用Monkeyrunner在我的Android应用程序的文本字段中输入一些文本。 我写了这样的代码:
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')
在运行第一行时,文本字段被选中。但是字符串“user”没有在那里输入。但是相同的代码我可以用完我的应用程序,在android原生搜索字段中我可以输入“user “使用此代码的字符串。我也尝试使用device.type('USER')
命令。这也没有用
如果我使用此代码
device.press ('KEYCODE_DPAD_CENTER', MonkeyDevice.DOWN_AND_UP)
正在录制一个中心按钮。 (在我的申请页面中,页面中间有一个按钮。)
答案 0 :(得分:1)
尝试以下代码。它适用于我的情况:
device.touch(x, y, MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(1)
device.type('USER')
在命令touch
中输入edittext的坐标而不是x和y
答案 1 :(得分:0)
其中一个挑战是找到要触摸的坐标,主要是使用不同的屏幕尺寸和配置。 AndroidViewClient可以在这方面提供帮助,您可以避免为视图提供坐标,您可以这样做:
subject = vc.findViewByIdOrRaise('id/subject')
subject.touch()
subject.type('AVCSample')
这一行来自AVC的一个例子:email-send.py
答案 2 :(得分:-1)
您是否将空格字符作为您尝试输入的文字的一部分?尝试没有空间,看看是否有效。然后,你可以弄清楚如何处理空间。