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. CD4051的切换时间

    CD4051:1 2 4 5 12 13 14 15  8个选择IO输入/输出端:3:I/O6:片选低电平有效,搞定平所有通道不通9 10 11:地址选择:功能:通过地址选择译码8个中的某个通道与3脚 ...

  2. CSS浮动float父div没有高度的问题

    如下所示,子元素 div2 本身具有高度和宽度,但由于其具有float:left:属性后.其父元素 div1 不具有高度. <html>    <head>    </h ...

  3. h5画圆

    下面一段代码是,h5的画圆,半圆,四分之一圆等效果 <!DOCTYPE html> <html lang="en"> <head> <me ...

  4. 一起来学Spring Cloud | 第三章:服务消费者 (负载均衡Ribbon)

    一.负载均衡的简介: 负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,多服务器能够消除单个服务器的故障,减轻单个服务器的访问压力. 1.服务端负载均衡 ...

  5. CF1043D Mysterious Crime

    思路: 参考了http://codeforces.com/blog/entry/62797,把第一个序列重标号成1,2,3,...,n,在剩下的序列中寻找形如x, x + 1, x + 2, ...的 ...

  6. 1102 采药 2005年NOIP全国联赛普及组

    1102 采药 2005年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Description 辰辰是个天资聪颖的孩子 ...

  7. plpgsql 数组、JSON相关

    Function Return Type Description Example Result array_append(anyarray,anyelement) anyarray append an ...

  8. substring()和substr()的使用以及区别

    在JavaScript中,通常会用到截取,那所谓截取呢,其实就是要获得被截取元素的某个位置到某个位置的内容,那么JS给我提供了substring和substr这两种方法: 这两种截取的方式有什么区别呢 ...

  9. Jenkins环境搭建(6)-修改自动化测试报告的样式

    写在最前: 我遇到一个问题,就是导出数据时,接口返回的数据是乱码,乱码如下图所示.问了开发,说是byte数据.这种情况,将response Data数据写入到报告中的话,在jenkins上运行时,提示 ...

  10. Mysql的Root密码忘记,查看或修改的解决方法

    Mysql的Root密码忘记,查看或修改的解决方法:1.首先启动命令行2.在命令行运行:taskkill /f /im mysqld-nt.exe3.继续在命令行运行:mysqld-nt --skip ...