我想为基于monkeyrunner的安卓应用程序/用户界面创建一个测试环境。我的目标是提供一个自动测试Activities和它们的UI元素(如EditText或Button )的环境,不是通过随机创建触摸/手势事件,而是做一些“有意义”的事情,比如找到一个标记为“电子邮件”的EditText,并在其中输入电子邮件地址。我研究了一些现成的工具,找到了ChimpChat,AndroidViewClient,当然还有dtmilano.blogspot.de。
我不熟悉Python开发,所以我的问题是,尝试在Jython中使用Java中的AVC是否有意义(甚至是可能的)(我知道我仍然需要学习一些Python),或者这是否会是一件不必要的复杂事情,我应该尝试用普通的python开发这样的东西。
如果您有任何意见,我们将非常感谢:)
发布于 2013-05-11 13:00:36
AndroidViewClient试图保持您习惯使用Java风格,因此学习起来并不困难。
例如,与其他工具采用的不同方法不同,AndroidViewClient使用更熟悉的
vc.findViewById('id/some_id')来查找视图。它还引入了对此API的自然扩展,如
vc.findViewWithText('sometext')和
vc.findViewWithText(re.compile('[a-z]*'))为了让事情更简单,在一段时间前就被引入了。此工具将帮助您生成脚本,您只需进行少量更改即可适应您的需求。
假设您在模拟器或设备中启动Contacts应用程序,然后按Add,将显示新联系人条目表单,并且根据您提到的示例,您需要输入一个电子邮件地址。显示新联系人表单后,运行:
$ culebra --verbose-comments --output=contacts.py然后编辑生成的脚本contacts.py。找到获得Email字段的行,它应该如下所示:
...
# 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来创建类似的测试。
https://stackoverflow.com/questions/16481868
复制相似问题