Android UiAutomator环境搭建及使用(QQ交流群:490451176)

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% ools;

  3. 安装ANT工具,并配置环境变量:先建立ANT_HOME变量,然后在path中添加%ANT_HOME%in;测试是否成功,运行-ant。

  4. 安装Eclipse,并安装adt插件。

二、建立Eclipse project

  1. 打开Eclipse,new-新建java project,输入project 名 UIAutomator,点击finish。

  

  2. 添加Android库

  找到路径sdkplatformsandroid-20下面的android.jar和uiautomator.jar,copy到project的lib下。

  

  

  

  把Android.jar 和uiautomator.jar build path中来。

  3. 新建第一个Demo程序

  

  代码中,写入 getUiDevice().pressHome();一行代码进行测试。

  4. 查看sdk ID

  cmd进入sdk ools 目录下,运行命令:android list,查看API 大于15的SDK的ID值,及当前已安装Android版本,当前是1

  

  5. 生成bulid文件

  在sdk ools目录下,运行命令: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:workspaceUIAutomator

  

  运行命令后,将会在工程的根目录下生成build.xml文件

  

  6.编译生成jar

  cmd进入项目的project目录,然后运行ant build,使用ant编译生成jar,执行如下:

   

  在bin目录下生成rar文件

  

  7. push并运行jar

  adb push <jar文件路径> data/local/tmp

实际执行命令为:adb push E:workspaceUIAutomatorinfirst.jar data/local/tmp

  

  8. 运行jar文件

  adb shell uiautomator runtest <jar文件名> -c <包名.类名>

  实际运行命令为:adb shell uiautomator runtest first.jar -c com.iu.android.TestPage.TestDemoOne(注意不要写错包名和类名),可以看到手机会按照Runner中的步骤自动执行。

原文地址:https://www.cnblogs.com/hiyu/p/6412088.html