使用Adt自带的工具进行Android自动化测试(三)
2015-06-03 10:11
381 查看
在这个系列的上一篇文章中,我们介绍了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的设备,就使用模拟器吧。
根据控件的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的设备,就使用模拟器吧。
相关文章推荐
- Android View 事件分发机制 源码解析 (上)
- Android 屏幕适配
- 使用Adt自带的工具进行Android自动化测试(二)
- android图片缓存策略
- Android设计模式(二)--策略模式
- Android应用程序资源的查找过程分析
- Android个人笔记 - Google Android揭秘_第二章
- 脚本ANT自动打包Android应用(方便多渠道发布)
- Android4.0 开放Root权限
- 关于android旋转屏幕时activity重建和android 转屏 onConfigurationChanged 不会执行的问题
- 开放Android root权限
- android常用的命令
- Android NFC基础开发教程
- android studio加载动态库
- Android listview addHeaderView和addFooterView详解
- Android圆角边框
- android studio导入外部项目或类库的方法
- "Selenium for Android"的Robotium 一 概述
- 【转载】Android中attr自定义标签详解
- Android学习 - ant批量打包