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。

  

  2. 添加Android库

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

  

  

  

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

  3. 新建第一个Demo程序

  

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

  4. 查看sdk ID

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

  

  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

  

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

  

  6.编译生成jar

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

  

  在bin目录下生成rar文件

  

  7. push并运行jar

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

实际执行命令为:adb push E:\workspace\UIAutomator\bin\first.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中的步骤自动执行。

Android UiAutomator环境搭建及使用(QQ交流群:490451176)的更多相关文章

  1. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  2. 转---详细的Android开发环境搭建教程

    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程 引言   在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立A ...

  3. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  4. Android开发环境搭建全程演示(jdk+eclipse+android sdk)

    全程演示android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本 一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/java ...

  5. Java、Android 开发环境搭建

    一.准备工作 为便于管理,将java开发工具集中到一个文件夹中.创建D:\javaDevE文件夹,JDK.Android-SDK.Eclipse.tomcat等都可以安装到这个文件夹中. 二.搭建Ja ...

  6. Android开发环境搭建相关文章列表(转载)

    Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...

  7. Android开发环境搭建及常见问题解决方法

    转自: http://www.cnblogs.com/rwxwsblog/p/4769785.html 在移动互联网的时代,Android的份额早已超过了苹果.Android的出现无疑加速了移动互联网 ...

  8. Android测试环境搭建(win7)

    一.安装JDK并配置环境变量 1.在Java官方网站上下载相应系统的jdk文件安装,如win7 64 位系统下安装jdk-6u45-windows-x64,全部选择默认的安装路径即可安装完成. 2.配 ...

  9. Ionic Android开发环境搭建 下

    上篇 Ionic 安装完成了,由于要开发Android,所以必不可少需要继续搭建Android开发环境. 首先,下载并安装JDK.然后配置一下环境变量. 接着,下载并安装Android SDK.下载过 ...

随机推荐

  1. Linux内核源码目录说明

    Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示“子目录或子模块”的关系.下面是对每一个目录的简单描述. ...

  2. Dekker算法在多核处理器下的失效

    Dekker algorithm是一种著名的并发编程的算法,Dekker算法的核心部分是一组对称的代码来访问一组共享变量,使得两个线程不可能同时进入临界区(只要cpu内存模型是遵循顺序一致性的),从而 ...

  3. POJ 3613 Cow Relays(floyd+快速幂)

    http://poj.org/problem?id=3613 题意: 求经过k条路径的最短路径. 思路: 如果看过<矩阵乘法在信息学的应用>这篇论文就会知道 现在我们在邻接矩阵中保存距离, ...

  4. python 在列表中添加元组元素,按照元组第一个值进行排序

    >>> import bisect >>> scores = [(, , , , 'python')] >>> bisect.insort(sco ...

  5. 前端引用公共html模块方案

    最近临时一个负责公司官网的妹纸请假,于是临时接手了下官网的项目,官网都是静态页面,算是很简单的,但发现页面挺多,而每个页面总有部分是和其他页面一模一样的,比如页头.页尾等,这样就导致一个地方的修改要在 ...

  6. Spring MVC配置静态资源和资源包

    Spring MVC配置静态资源和资源包 本例映射:css目录: pom.xml <properties> <spring.version>4.3.5.RELEASE</ ...

  7. mybatis之org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'time' in 'class java.lang.String'

    mybatis接口 List<String> getUsedCate(String time); 配置文件 <select id="getUsedCate" pa ...

  8. CentOS下安装Python-pip

    1.安装epel-release软件包:自动配置yum的软件仓库,弥补centos内容更新有时比较滞后或是一些扩展的源没有. yum -y install epel-release 2.安装pytho ...

  9. NYOJ 720 DP+二分

    项目安排 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个 ...

  10. 数据库使用B+树原理

    转载:http://zhuanlan.51cto.com/art/201808/582078.htm https://www.cnblogs.com/vincently/p/4526560.html( ...