AndroidViewClient尝试保持与您习惯使用 Java 相同的 API 样式,因此学习它并不难。
例如,AndroidViewClient没有采用其他工具采用的不同方法,而是使用了更熟悉的
vc.findViewById('id/some_id')
查找视图。它还为此 API 引入了自然扩展,例如
vc.findViewWithText('sometext')
和
vc.findViewWithText(re.compile('[a-z]*'))
为了进一步简化事情,前一段时间引入了culebra 。该工具将帮助您生成脚本,只需进行一些更改即可适应您的需求。
假设您在模拟器或设备中启动Contacts应用程序,然后按Add,您会看到New Contact输入表单,并且根据您提到的示例,您想输入一个电子邮件地址。显示新联系人表单后,运行:
$ culebra --verbose-comments --output=contacts.py
然后编辑生成的脚本contacts.py
。找到获取电子邮件字段的行,它应该类似于:
...
# class=android.widget.EditText text="Email"
no_id57 = vc.findViewByIdOrRaise("id/no_id/57")
...
并添加
no_id57.type('donald@example.com')
保存脚本。运行。如果一切顺利,您将看到如何输入电子邮件地址。
我将在dtmilano.blogspot.com的另一篇文章中创建一个更详细的示例。
如果您仍然想使用 Java,严格来说AndroidViewClient可以移植到 Java(欢迎补丁和赞助),或者您可以使用UiAutomator创建类似的测试。