使用Adt自带的工具进行Android自动化测试(三)

2015-06-18   出处: 搜狗测试  作/译者: ev

在这个系列的上一篇文章中,我们介绍了MonkeyRunner,并提到如果根据坐标来编写自动化脚本的话存在着一定的局限性。这篇文章将进一步介绍根据控件的id来编写自动化脚本的方法。


根据控件的id来操作控件

从Android 2.3.3开始,MonkeyRunner增加了EasyMonkeyDevice和By这两个类,它们都位于com.android.monkeyrunner.easy包内,借助这两个类,我们就可以根据控件的id来操作控件。

在这个系列的上一篇文章中,我们展示了搜狗手机浏览器在进入设置页面后,不同的分辨率下控件的绝对坐标并不相同。

这时如果我们想要点击其中一个控件,比如说更换皮肤,就要用到下面的方法:

其中id/rl_preference_skin就是更换皮肤这个控件的id,那么怎样才能知道每个控件的id是什么呢?可以借助Adt的另外一个工具HierarchyViewer


使用HierarchyViewer查看控件的id

HierarchyViewer的可执行文件叫做hierarchyviewer.bat,跟monkeyrunner.bat在同一个目录下,运行后会出现这样的界面

列表中列出了正在运行中的Activity,点击搜狗手机浏览器设置界面的Activity——,可以解析出整个界面的布局,这个过程可能稍微有些慢。


应用的布局有时是非常复杂的,我们不需要一点一点的找,可以在右下角的示意图中点击我们想查看的控件,这时控件就会在左侧的控件树中被选中。

在左侧的控件树中,列出了控件的基本信息,比如我们需要的控件id。


最后需要说明的是,根据控件的id来操作控件要求设备开启了ViewServer,现在大部分设备都是没有开启ViewServer的,如果实在找不到开启了ViewServer的设备,就使用模拟器吧。


下面附上该系列的前两篇文章:

使用Adt自带的工具进行Android自动化测试(一)

使用Adt自带的工具进行Android自动化测试(二)


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
287° /2874 人阅读/0 条评论 发表评论

登录 后发表评论