Android UiAutomator环境搭建及使用

蹉跎莫遣韶光老,人生唯有读书好。这篇文章主要讲述Android UiAutomator环境搭建及使用相关的知识,希望能为你提供帮助。
android自动化框架常用的有很多,本身也提供了很多自动化测试框架,每个都有其优势和不足 。当然对于我们做UI自动化测试来说,简单易用即可。
UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,且不需要测试人员了解代码实现细节,测试人员可以用uiautomator投入viewer抓取app页面的控件属性,不需要看源码。基于java,测试代码结构相对简单,且容易上手,学习成本不高,一次编译,所有设备或模拟器都能运行测试,能跨app。当然,不足是:只支持sdk16及以上,不支持Hybird app、webapp。下面,我们来一个小例子,进行说明uiautomator的环境搭建和使用。
一、环境准备
1. 安装JDK,必要条件。
2. 下载sdk/adt(android所需,目前adt自带sdk和eclipse,API需要16以上),配置环境变量:先建立ANDROID_HOME,然后在path中添加%ANDROID_HOME%\\tools;
3. 安装ANT工具,并配置环境变量:先建立ANT_HOME变量,然后在path中添加%ANT_HOME%\\bin;测试是否成功,运行-ant。
4. 安装Eclipse,并安装adt插件。
二、建立Eclipse project
1. 打开Eclipse,new-新建java project,输入project 名 UIAutomator,点击finish。

Android UiAutomator环境搭建及使用

文章图片

2.  添加Android库
找到路径sdk\\platforms\\android-20下面的android.jar和uiautomator.jar,copy到project的lib下。
Android UiAutomator环境搭建及使用

文章图片


Android UiAutomator环境搭建及使用

文章图片

把Android.jar 和uiautomator.jar build path中来。
3. 新建第一个Demo程序
Android UiAutomator环境搭建及使用

文章图片

代码中,写入  getUiDevice().pressHome(); 一行代码进行测试。
4. 查看sdk ID
cmd进入sdk\\tools\\ 目录下,运行命令:android list,查看API 大于15的SDK的ID值,及当前已安装Android版本,当前是1
Android UiAutomator环境搭建及使用

文章图片

5. 生成bulid文件
在\\sdk\\tools\\目录下,运行命令:android create uitest-project -n < name> -t < android-sdk-ID> -p < path>
其中name为将来生成的jar包的名字,可以自己定义,android-sdk-ID为上一步骤看到的1,path是project的路径名称,android create uitest-project -n first -t 1  -p  E:\\workspace\\UIAutomator
Android UiAutomator环境搭建及使用

文章图片

运行命令后,将会在工程的根目录下生成build.xml文件
Android UiAutomator环境搭建及使用

文章图片

6.编译生成jar
cmd进入项目的project目录,然后运行ant build,使用ant编译生成jar,执行如下:
 
Android UiAutomator环境搭建及使用

文章图片

在bin目录下生成rar文件
Android UiAutomator环境搭建及使用

文章图片

7. push并运行jar
adb push < jar文件路径> data/local/tmp
实际执行命令为:adb push E:\\workspace\\UIAutomator\\bin\\first.jar  data/local/tmp
Android UiAutomator环境搭建及使用

文章图片

 
8. 运行jar文件
adb shell uiautomator runtest < jar文件名> -c < 包名.类名>
【Android UiAutomator环境搭建及使用】实际运行命令为:adb shell uiautomator runtest first.jar  -c com.iu.android.TestPage.TestDemoOne(注意不要写错包名和类名),可以看到手机会按照Runner中的步骤自动执行。

    推荐阅读