0

我正在尝试使用 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)

它正在录制一个中心按钮。(在我的应用程序页面中,页面中间有一个按钮。)

4

3 回答 3

2

试试下面的代码。它在我的情况下工作:

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

在命令touch中放置您的编辑文本的坐标而不是 x 和 y

于 2012-10-05T12:04:21.870 回答
0

挑战之一是找到要触摸的坐标,主要使用不同的屏幕尺寸和配置。 AndroidViewClient可以在这方面提供帮助,您可以避免为视图提供坐标,您可以简单地执行以下操作:

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

此行取自 AVC 示例之一:email-send.py

于 2012-10-05T19:09:05.917 回答
-2

您尝试输入的文本中是否包含空格字符?尝试没有空间,看看是否有效。然后,您可以弄清楚如何处理空间。

于 2012-11-15T14:55:22.210 回答