UiAutomator框架使用指南

UiAutomator是Google开发的自动化测试工具,通过UI创建自动化测试代码,来测试界面(UI)的有效功能,可以针对应用程序运行在一个或更多的设备上。我们并不知道程序内部的结构,只是单纯通过界面来点击,返回,退出等来对程序进行测试。相当于黑盒测试。它有以下几个优点:

1. 明晰的API,提供灵活精确的控制;

2. 无需源代码;

3. 可在不同App间调度;

4. UIAutomator支持的脚本语言是Java,且Java是一种面向对象、普及面很广的语言;

UIAutomator进行功能测试测试流程:

首先肯定是环境搭建:

1、安装以下工具

安装工具过程中,可以参考以下博客:http://blog.csdn.net/g19920917/article/details/16131565

1>JDK,安装后,一定要通过JAVA_HOME的方式添加环境变量,即先建立JAVA_HOME变量,然后在path中添加%JAVA_HOME%\bin;
    2>SDK(API高于15),一定要先建立ANDROID_HOME,然后把%ANDROID_HOME%\tools添加到path中;
    3>Eclipse(安装ADT插件)
    4>ANT(用于编译生成jar),同样一定要先建立%ANT_HOME%变量,然后在path中添加%ANT_HOME%\bin;

2、打开eclipse,import source code,如图1、2、3所示。

            图1 import source code-1

        图2 import source code-2

        图3 import source code-3

3、基本的工程结构说明,如图4。

            图4 工程结构说明

4、刚导入的工程会有叹号,需要重新导入jar包,如图5、6、7所示,jar包添加完成后,工程就不会有叹号存在了。

          图5 重新导入jar包-1

          图6 重新导入jar包-2

          图7 重新导入jar包-3

5、在build.xml中保证project name与工程名一致,且default默认值为build,如图8所示。

            图8 build.xml

6、在project.properties文件中要注意target的值要与当前API版本一致,如图9所示。

          图9 project.properties

7、在local.properties文件中SDK的值是你安装的sdk的路径,例如我电脑sdk路径是C:\\Java\\android_sdk_x86_64\\sdk,注意路径是双斜线,如图10所示。

              图 10 local.properties

8、通过ant build编译生成jar包,如图11所示。

            图 11 ant build

9、cmd进入到AT_Boot目录下执行execute.bat文件,我这里是进入到了AT_IMEI工程里,如图12所示,把生成的jar包push到手机里,然后执行命令adb shell uiautomator runtest AT_Boot.jar -c com.boot.test.BootTest运行case,具体执行命令,请仔细阅读execute.bat文件。

              图 12 execute.bat

Uiautomator简介及其环境搭建、测试执行的更多相关文章

  1. 简介及环境搭建跑通Hello

    简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...

  2. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  3. 大数据基础-2-Hadoop-1环境搭建测试

    Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...

  4. Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

    标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...

  5. Monkey简介及环境搭建(1)

    简介:Monkey是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用 ...

  6. Mybatis简介、环境搭建和详解

    简介: 1.Mybatis  开源免费框架,原名叫iBatis,2010在google code,2013年迁移到github 2.作用: 数据访问层框架 2.1  底层是对JDBC的封装 3.myb ...

  7. Mybatis系列全解(二):Mybatis简介与环境搭建

    封面:洛小汐 作者:潘潘 Mybatis 是一套持久层框架,灵活易用,特别流行. 前言 Mybatis系列全解,我们预计准备10+篇文章,让我们了解到 Mybatis 的基本全貌,真正从入门到上手,从 ...

  8. PyQT5速成教程-1 简介与环境搭建

    本文由 沈庆阳 所有,转载请与作者取得联系! PyQt简介 一个良好的界面是人机交互中十分重要的一环. Python作为脚本语言,起初并未拥有GUI开发的部分.但随着其开放的扩展性,使得Python不 ...

  9. go语言之行--简介与环境搭建

    一.Go简介 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后 ...

随机推荐

  1. css水平垂直居中块整理

    1.绝对定位+负margin 兼容性很好,但需要指定子块的高度和宽度,以及负margin .wp{ position: relative; width: 200px; height: 200px; b ...

  2. [已读]了不起的Node.js

    2015/1/22 昨天下班前看完了这本,也不算看完,redis与mysql部分没有去翻,觉得暂时用不上. 觉得第一部分的内容还不错. 第二部分主要讲fs,tcp和http这三个模块. 第三个部分是例 ...

  3. HDU 5974 A Simple Math Problem 数学题

    http://acm.hdu.edu.cn/showproblem.php?pid=5974 遇到数学题真的跪.. 题目要求 X + Y = a lcm(X, Y) = b 设c = gcd(x, y ...

  4. spring mvc 获取所有注册的url

    背景:坑货同事写代码一点规范都没有,瞎写,根据url没法直接定位到方法,无奈产生了此接口,程序员何苦为难程序员呢 @Autowired private RequestMappingHandlerMap ...

  5. mongodb sort

    sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法. sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序.要指定排序顺序1和-1. 1用于升序排列, ...

  6. 前端常用的jquery代码

    主要是个人在工作中常用到的一些代码,会慢慢添加: 1).enter键时可以触发某些事件,比如登陆事件: $('#loginform').bind('keypress',function(event){ ...

  7. ARM指令解析

    今天我来总结一下arm指令的学习,今天我不会对所有的arm指令进行一一的解析,在这里希望大家去看arm汇编手册,这个手册的中文版我放在了http://download.csdn.net/detail/ ...

  8. Idea 2017注册码

    BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  9. 限制UITextField输入长度

    如果要限制UITextField输入长度最长不超过kMaxLength,那么需要实现做以下操作: 1.实现UITextFieldDelegate协议: 2.实现textField:shouldChan ...

  10. Objective-C - NSString 和 NSDate 互相轉換

    記錄一下在 Objective-C 由 NSString 轉換為 NSDate 或 NSDate 轉換為 NSString 的方法. 很簡單,使用 NSDateFormatter 就可以令 NSStr ...