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

在这个系列的上一篇文章中,我们介绍了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的设备,就使用模拟器吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值