首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Java运行AndroidViewClient

从Java运行AndroidViewClient
EN

Stack Overflow用户
提问于 2013-05-10 20:06:41
回答 1查看 314关注 0票数 0

我想为基于monkeyrunner的安卓应用程序/用户界面创建一个测试环境。我的目标是提供一个自动测试Activities和它们的UI元素(如EditTextButton )的环境,不是通过随机创建触摸/手势事件,而是做一些“有意义”的事情,比如找到一个标记为“电子邮件”的EditText,并在其中输入电子邮件地址。我研究了一些现成的工具,找到了ChimpChatAndroidViewClient,当然还有dtmilano.blogspot.de

我不熟悉Python开发,所以我的问题是,尝试在Jython中使用Java中的AVC是否有意义(甚至是可能的)(我知道我仍然需要学习一些Python),或者这是否会是一件不必要的复杂事情,我应该尝试用普通的python开发这样的东西。

如果您有任何意见,我们将非常感谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-11 13:00:36

AndroidViewClient试图保持您习惯使用Java风格,因此学习起来并不困难。

例如,与其他工具采用的不同方法不同,AndroidViewClient使用更熟悉的

代码语言:javascript
复制
vc.findViewById('id/some_id')

来查找视图。它还引入了对此API的自然扩展,如

代码语言:javascript
复制
vc.findViewWithText('sometext')

代码语言:javascript
复制
vc.findViewWithText(re.compile('[a-z]*'))

为了让事情更简单,在一段时间前就被引入了。此工具将帮助您生成脚本,您只需进行少量更改即可适应您的需求。

假设您在模拟器或设备中启动Contacts应用程序,然后按Add,将显示新联系人条目表单,并且根据您提到的示例,您需要输入一个电子邮件地址。显示新联系人表单后,运行:

代码语言:javascript
复制
$ culebra --verbose-comments --output=contacts.py

然后编辑生成的脚本contacts.py。找到获得Email字段的行,它应该如下所示:

代码语言:javascript
复制
...
# class=android.widget.EditText text="Email"
no_id57 = vc.findViewByIdOrRaise("id/no_id/57")
...

并添加

代码语言:javascript
复制
no_id57.type('donald@example.com')

保存脚本。运行它。您将看到,如果一切顺利,如何输入电子邮件地址。

我将在dtmilano.blogspot.com的另一篇文章中创建一个更详细的示例。

如果你仍然想使用Java,严格地说,AndroidViewClient可以移植到Java (欢迎补丁和赞助),或者你可以使用UiAutomator来创建类似的测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16481868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档