转自:http://www.cnblogs.com/rexmzk/archive/2012/12/26/2834380.html

最近公司在开展Android的自动化测试,美国那边的开发人员利用Android的UI Testing和powershell搭建了一个Android自动化的框架。通过几天的学习,大概熟悉了他们的这套框架了。

新的Android SDK提供2个工具用以UI的自动化:
uiautomatorviewer - 一个GUI工具,用来扫描识别UI上面的控件
uiautomator - JAVA类库,包含一些自定义的UI功能测试,用以自动化和跑test case的引擎。

这两个工具只在Android SDK Tools, Revision 21 or higher和Android SDK Platform, API 16 or higher才有。

当你安装完SDK以后,就可以用AVD创建虚拟机器或者使用USB连接实际的device来做自动化了。注意:如果想用真正的device来做自动化,机器的android版本必须是4.1以上,而且要在开发模式下把USB Debugging打开。
当AVD创建好,或者设备通过USB连接到电脑后,可以以下命令检查设备的id(这个在以后编写程序的时候会用到,特别是当你同时连接多台设备的时候)
<android-sdk>\platform-tools>adb devices

今天,先把搭建UI Testing测试开发环境的步骤写下来,有需要的也可供参考。因为我之前没有任何编程基础,所以内容可能有误。如发现错误,也希望各位能提出,谢谢。

1. 安装JDK,这个直接google搜索一下,就可以了。我的当前版本是6.0
2. 设置java_home环境变量

3. 下载安装Android SDK

4. 通过SDK Manager下载最新SDK(版本>21),platform-tools(版本>16)
5. 下载安装Android 4.2 (API17)下的SDK Platform。如果需要使用AVD的(Android虚拟机),可以把整个API 下下来。(注意:只有Android 4.1.2(API 16)以上才支持uiautomator)
6. 设置ANDROID_HOME环境变量
7. 下载ant并设置ant的环境变量:下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本。解压到某个目录(例如E:"apache-ant-1.7.0),配置环境变量即可使用。

ANT环境变量设置

Windows下ANT用到的环境变量主要有2个,ANT_HOME 、PATH。

设置ANT_HOME指向ant的安装目录。

设置方法:
ANT_HOME = D:/apache_ant_1.7.0

将%ANT_HOME%/bin; %ANT_HOME%/lib添加到环境变量的path中。

设置方法:
PATH = %ANT_HOME%/bin; %ANT_HOME%/lib

8. 安装Eclipse - 创建一个新的Java Project
9. 点击Java Project,Menu - Project — Properties
10. Java Build Path - Libraries
11. Add External JARs... - 把android-sdk\platform\android-xx里面的android.jar和uiautomator.jar添加进来
12. Add Library... - 添加JUnit - JUnit3类库
13. 在src里添加目录src/com/uia/example/my
14. 在my下添加一个JUnit Test Case,名为LaunchSettings
15. 把http://developer.android.com/tools/testing/testing_ui.html下的sample复制黏贴至testcase,保存
16. 运行cmd
17. 运行命令:
 
 - <android-sdk>/tools> android create uitest-project -n
<name> -t 1 -p <path> (<name>就是LaunchSettings,
<path>就是项目所在目录)
18. 切换到项目所在目录(build.xml文件所在目录),运行
  - ant build
  完成后会在/bin下生成LaunchSettings.jar
19. 使用adb push命令,把test case(LaunchSettings.jar)上传到被测试设备上
  - <android-sdk>\platform-tools>adb push <path_to_output_jar> /data/local/tmp/         (<path_to_output_jar>:jar的文件目录)
20. 最后,运行命令,那个sample的test case就会在设备上跑起来了。
  - <android-sdk>\platform-tools>adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

想了解更多Android UI自动化的内容,可以上官网查看(http://developer.android.com/tools/testing/testing_ui.html

AndroidUI自动化测试工具-UIautomator的更多相关文章

  1. Android 手机自动化测试工具有哪几种?

    1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...

  2. APP移动端自动化测试工具选型“兵器谱”一览(主流开源工具)

    (下面大多数工具都是开源工具,在github,码云等开源平台都能找到) "测试那点事儿”在看到360旗下的测试团队整理的关于目前APP移动端自动化相关的工具,觉得总结的很到位,对目前大多数中 ...

  3. 支付宝开源非侵入式 Android 自动化测试工具 Soloπ

    Soloπ(SoloPi)是支付宝开源的一个无线化.非侵入式的Android自动化测试工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 本文是SoloPi团队关 ...

  4. [安卓自动化测试] 001.UIAutomator初探

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. Android自动化测试工具调研

    原文地址:Android自动化测试工具调研 - Stars-One的杂货小窝 Android测试按测试方式分类,可分为两种:一种是传统逻辑单元测试(Junit),另外一种则是UI交互页面测试. 这里详 ...

  6. 手机GUI自动化测试工具选择

    (Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...

  7. 前端自动化测试工具doh学习总结(二)

    一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动 ...

  8. 前端自动化测试工具doh学习总结(一)

    前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...

  9. 录制简单的自动化测试工具SlikMobile初体验

    今天朋友推荐了款自动化测试工具SlikMobile,下载了个试用了下,感觉还是很容易入门和上手的,感觉和testin的工具差不多,跨平台,多语言支持,支持图片.文本和Native Class三种对象方 ...

随机推荐

  1. js实现图片向上播放(轮番滚动)

    js实现图片向上播放(轮番滚动) 实现方式,多种多样,这里我们来看javascript实现方式,重点是研究里面的源代码: 看看别人是如何写出“优雅的代码” <!DOCTYPE html PUBL ...

  2. NavigationController popToViewController跳转之前任意ViewController方法

    NSArray *viewControllers = self.navigationController.viewControllers;A *viewController = [viewContro ...

  3. SSH项目练习的时候报错:[applicationContext.xml]: Invocation of init method failed;

    这里是控制台的报错信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' ...

  4. [转帖]Speed-BI数据分析案例:2016年8月汽车销量排行榜

    [转帖]Speed-BI数据分析案例:2016年8月汽车销量排行榜 据中国汽车工业协会统计分析,2016年8月,乘用车市场表现较好,当月销量环比和同比均呈较快增长.1-8月,乘用车销量总体呈稳定增长, ...

  5. LINQ使用

    基于扩展方法和lamda表达式 1. 查询序列中满足一定条件 Where扩展方法 public interface ISlotPortBinding { byte SlotNumber { get; ...

  6. [GeoServer]Openlayers简单调用

    Openlayers Demo: <html> <head> <title>OpenLayers Example</title> <script ...

  7. 转: 利用 DEBUG_NEW 来追溯 Memory leak 内存泄漏

    参考: https://msdn.microsoft.com/en-us/library/tz7sxz99.aspx http://www.cnblogs.com/taoxu0903/archive/ ...

  8. 安装Cocoapods(Pods 管理iOS 第三方库)

    安装 可先检测Mac电脑是否安装Pods.打开控制台: $ which pod 如果安装,结果如下;如果没有安装,控制台无反应. /usr/bin/pod 如果没有安装, 以下命令安装之. $ sud ...

  9. c# yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型

    DateTime ConvertDate = DateTime.ParseExact("20140504", "yyyyMMdd", null, System. ...

  10. wampserver环境下,安装ucenter1.6.0

    1,)从官网下载UCenter_1.6.0_SC_UTF8.zip,解压拷贝upload到www下,重命名upload->ucenter; 2,)D:\wamp\bin\apache\Apach ...