Android:模拟器:Python:表单中字段之间的Tab键

时间:2013-02-21 19:22:40

标签: android python keyboard emulation monkeyrunner

我正在自动在我正在编写的Android应用程序中输入SQLite数据。 该应用程序是用Java编写的。 函数ui测试是使用MonkeyRunner在python中编写的,并且是在我的Win7笔记本电脑上运行的Android 4.2模拟器上运行的。

#Touch the new alliance button
device.touch(358, 78, 'DOWN_AND_UP')
MonkeyRunner.sleep(3)
# Type name of new alliance
device.type("Legion of Anarchy")
MonkeyRunner.sleep(3)
#Touch the allc leader edittext
device.touch(88, 348, 'DOWN_AND_UP')
# Type name of alliance leader
device.type("DeathAngel")

在表单中,第一个字段已经具有焦点,所以我只需输入条目即可。 下一个触摸命令会点击以下字段,但这并不总是有效。从我的笔记本电脑键盘我可以TAB到下一个字段...我只需要知道如何在python / MonkeyRunner中做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您可以从键盘上选择TAB,那么您也可以从monkeyrunner中选择TAB:

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

但是,使用AndroidViewClient并执行以下操作可能会更容易:

vc = ViewClient(*ViewClient.connectToDeviceOrExit())
newAlliance = vc.findViewByIdOrRaise('id/new_alliance')
newAlliance.type('Legion of Anarchy')
allianceLeader = vc.findViewByIdOrRaise('id/alliance_leader')
allianceLeader.type('DeathAngel')

你不必担心屏幕坐标和其他东西。查看examples,您会发现很多想法。