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. 牛客网Java刷题知识点之Iterator和ListIterator的区别

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=21 ...

  2. 持续集成~Jenkins里的NuGet和MSBuild插件

    Jenkins是一个持续集成的环境,它是java开发的,大叔认为它的工作流程是 从源代码拉一个项目下来到它本地(可以配置定时机制) 恢复相关程序包nuget 编译程序 发布程序 现在说一下在配置jen ...

  3. Coder(线段树)

    求一部分和的线段树,因为是对5取余,所以给定一段区间a-b,假设其位置会有变化,最多会有5种和,那么就可以保留这五种和,在用lz进行延迟标记时,保存位置变化了多少也就知道了该从当前和转到哪一个和. 当 ...

  4. C#操作Txt(追加模式)

    /// <summary> /// 输出指定信息到文本文件 /// </summary> /// <param name="msg">输出信息& ...

  5. Gym 100342E Minima (暴力,单调队列)

    3e7暴力,800ms+过,单调队列维护区间最小值. #include<bits/stdc++.h> using namespace std; typedef long long ll; ...

  6. python自动化基础问题解析

      (1)自动化代码中用到的设计模式: po模式(page object): 1.PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰. 2.页面对象与用例分离,使得我们更好的复 ...

  7. Python 输入输出 数据类型 变量

    python输入输出 数据类型 变量 输入输出 print()在Python3中是函数 >>>print('hello world') #print注意print前面不要有任何空格 ...

  8. 爬虫学习之pdf读取和存储

    在py3中如需进行pdf文件操作需要加载PDFMiner3K库文件,可通过pip方式或者可以下载源文件方式安装 python3 -m pip install pdfminer3k 下载源文件方式: 1 ...

  9. js获取当前日期、前一天、后一天的日期的例子

    <script> function addByTransDate(dateParameter, num) { var translateDate = "", dateS ...

  10. AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排

    一.前言 上一篇部署了一个最基础的helloworld应用,创建了两个容器和一个network,还算应付得过来. 如果该应用继续引入mysql.redis.job等若干服务,到时候发布一次得工作量之大 ...