Android自动化工具UiAutomator简介
一、Android自动化工具简介
Android自动化测试主要分为Monkeyrunner、Rubotium、UiAutomator、Monkey等。主要特点:
1、 Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作;缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限;
2、 Rubotium:主要针对某一个APK进行自动化测试,APK可以有源码,也可以没有源码,功能强大;缺点是针对APK操作,而且需要对APK重新签名(有工具),因此操作相对复杂;
3、 UiAutomator:优点:可以对所有操作进行自动化,操作简单;缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了;
4、 Monkey:准确来说,这不算是自动化测试,因为其只能产生随机的事件,无法按照既定的步骤操作;
由上面介绍可以有这样的结论:测试某个APK,可以选择Rubotium;测试过程可能涉及多个APK,选择UiAutomator;一些简单的测试,选择Monkeyrunner;
本文档主要介绍UiAutomator的使用方法。
二、UiAutomator介绍
Google在Android4.3发布时提供了一套新的UiAutomation框架来支持用户界面自动化测试,该框架通过运用已有的Accessibility APIs来模拟用户跟设备用户界面的交互,比如获取窗口界面控件和注入事件等。
UiAutomator,用于UI自动化测试,主要是仿真单击、滑动、输入文本等操作,而不用人为地进行操作,如果把一组反复进行的操作用UiAutomator实现,那么将大大提高效率。但是UiAutomator使用范围非常有限,学习之后会知道,在UiAutomator中,每一个UI控件都是UiObject的对象,并没有提供获得控件对应控件类(android.widget.*)的接口。所以在UiAutomator中,一个Button和ImageView都是一样的---都是UiObject的对象。
要熟练使用UiAutomator,需要熟悉下图中的类。
三、UiAutomator的使用
1. 环境搭建
1.1 必备条件
(1). JDK
(2). SDK(API高于16)
(3). Eclipse(安装ADT插件)---(可使用adt-bundle-windows-XXXXXX,其内含ADT插件)
(4). ANT(用于编译生成jar)
1.2 简要步骤
(1). 安装JDK并添加环境变量
(acle/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
创建JAVA_HOME环境变量,添加PATH;
(2). 添加SDK环境变量
创建ANDROID_HOME,添加PATH;
(3). 安装Eclipse,并安装ADT插件
(4). 安装ANT工具,并添加环境变量
创建ANT_HOME,添加PATH;
2. UiAutomator工作流程
(1). 在设备上面安装需要测试的应用程序,(利用工具)分析应用程序的UI组件,确保测试框架能访问到应用程序
(2). 创建可自动化的测试去模拟特定的用户交互
(3). 编译测试用例成为jar文件并和你的测试的应用程序一起安装到设备上
(4). 执行测试并查看结果
(5). 修复bug或在测试中发现的缺陷
3. UiAutomator使用步骤
3.1 创建java project,导入包
将Junit 的lib加入到工程后还需要添加Android.jar和uiautomator.jar两个文件
添加完成后,点击Finish完成创建。
3.2 创建测试类
在工程下创建包,并创建测试类ant安装包LanuchSettings,该类需继承UiAutomatorTestCase,此处使用帮助中的示例。
该测试用例主要用来模拟用户在一个安卓设备上启动设置应用。该测试用例模拟用户完成这样的场景的所有步骤,包括打开主屏幕,启动全部应用屏幕,滑动到设置应用图标上,点击该图标进入设置应用。具体代码如下:
developer.android/tools/testing/testing_ui.html
3.3 创建一个编译配置文件
在SDK目录下运行:
<android-sdk>/tools/android create uitest-project -n <name> -t <id> -p <path>
各个参数的作用:
-nname: Project name
-ttarget: Target ID of the new project。这个id是本机上android targets的id,可以通过命令android list来查询,得到如下图的结果,选择android-17以上版本前面所对应的id
-p path:本地项目路径
执行命令:
命令运行完成后,可以看到workspace目录下该工程目录内新增三个文件:l、local.properties、project.properties(在eclipse中,右键项目名,选择Refresh,可在Referenced Libraries目录下查看到新增的三个文件)。
l:编译可生成项目的jar文件;
local.properties:保存了sdk路径;
project.properties:保存了目标平台版本;
3.4 修改配置文件,生成jar包
Eclipse中,在l上点击右键,选择“Run As” -> "Ant Build",可以看到下面的输出,这个输出实际上是一个帮助,是对l的作用进行说明的。在l中配置上相应的选项可以完成相应的操作。
在l的配置上,将default后面的选项改为“build”后,保存重新运行,就可以build jar包了。
此时工程的bin目录下就会生成了MyTest.jar。
3.5 将jar部署到手机并执行
使用adb命令将jar包push到手机中,然后执行。
adb push <jar文件路径> data/local/tmp
adb shell uiautomator runtest <jar文件名> -c <类名>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论