【UiAutomator学习笔记】1. 环境配置与编译运行

概述

  • uiautomator遵守Junit3标准

配置编写环境

  1. 配置Java开发环境

    • JAVA_HOME:JDK根目录
    • path:添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    • CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  2. Andrid环境配置
    • ANDROID_HOME:sdk根目录
    • path:将android sdk中tools目录(通过android list命令验证添加成功)和platform-tools目录(通过adb命令验证添加成功)配置到path中
  3. ANT环境配置
    • ANT_HOME:ant根目录
    • path:将%ANT_HOME%/bin目录配置到path中(通过ant命令验证添加成功)

新建测试工程

  1. 新建Java工程(注意不是Android工程)
  2. 将android.jar和uiautomator.jar添加到Build Path
    • 项目中新建libs目录,用于存放依赖的包
    • 将%ANDROID_HOME\%platforms\android-XX目录下的两个文件拷贝到libs目录中
      • android.jar
      • uiautomator.jar
    • 将两个jar包添加到buildpath
  3. 新建测试类,继承UiAutomatorTestCase
  4. 编写用例,方法必须test开头。如:
    public void testDemo() {
        UiDevice.getInstance().pressHome();
    }

编译与运行测试代码

  1. 创建build文件

    • 在命令行中执行:android create uitest-project -n -t 1 -p

      • n:需要发布的jar包的名字,如:demo
      • t:需要编译使用的SDK版本的ID编号,可以通过android list命令获取
      • p:当前项目根目录
    • 执行后在Eclipse刷新项目目录,会发现多了build.xml文件
  2. 修改build文件
    • 打开build.xml文件
    • 将<project name="demo" default="help">中的help修改为build
  3. 开始编译
    • 命令行下进入工程目录,执行ant命令
    • 编译完成后,查看命令行输出的结果中jar包路径,如D:\android\workspace\Java_TestAndroid_UiAutomator\bin\demo.jar
  4. push jar包到手机中
    • adb push <jar_path>/data/local/tmp
    • 例如:adb push D:\android\workspace\Java_TestAndroid_UiAutomator\bin\ /data/local/tmp
  5. 运行测试
    • adb shell uiautomator runtest <jars> -c <包名>.<类名>[#test name]

      • jars:指定运行的jar包文件名,位于/data/local/tmp下
      • c <CLASSES>
        • 运行一个类下的所有用例格式:package_name.class_name
        • 测试特定的方法:package_name.class_name#method_name
        • 可以指定多个c,可用于指定测试用例顺序
        • 如果不指定,默认运行整个jar包下的所有用例
      • nohup:指定此参数可以断开pc运行测试用例
      • e :传入一个键值对到测试程序中,可用于一些需要变化的参数的传入
        • 在测试用例中添加使用参数的代码,如获取手机号码

          public void testDemo() {
              UiDevice.getInstance().pressHome();
              Bundle bundle = getParams();
              String phone = bundle.getString("phone");
              System.out.println("Phone: " + phone);
          }
        • 执行的时候传入-e参数:adb shell uiautomator runtest demo.jar -c com.test.Test#testDemo-e phone 1380000000
    • 例如:adb shell uiautomator runtest demo.jar -c com.test.Test
  6. 之后就可以在模拟器中查看到测试用例执行的效果

运行命令与快速调试

  • 上面描述的步骤,无法在Eclipse中直接调试
  • 命令调试繁琐效率底下
  • 解决方案:将调试步骤转换为脚本
  • 创建build文件 -> 修改build文件 -> 开始编译 -> push文件 -> 运行测试

实现步骤

  1. 打开https://github.com/fan2597/UiAutomatorHelper
  2. clone项目到本地,导入到eclipse
  3. 将UiAutomatorHelper.java复制到测试项目中
  4. 在测试类中新建main函数,如
    public static void main(String[] args) {
        String jarName = "Demo"; //jar包名称
        String testClass = "com.test.Test"; //测试类全名
        String testCaseName = "testDemo"; //测试用例名
        String androidId = "1";
        new UiAutomatorHelper(jarName, testClass, testCaseName, androidId);
    }
  5. 运行java项目,即可
时间: 2024-10-18 19:25:37

【UiAutomator学习笔记】1. 环境配置与编译运行的相关文章

lua学习笔记1 环境配置

1 开发平台 windows7 64位 2 下载链接 http://www.lua.org/download.html 3 安装完成-环境配置 4  运行 WIN+R 运行 cmd 运行lua,显示配置成功.

Java之路——环境配置与编译运行

本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解之后,相信初学者们都对Java有了一个比较深印象的了解了.但是事情不能总停留在理论层面,还得多多实现,才能见真知.我觉得,学习一样东西,要遵循理论--实践--理论这样一个套路.先了解事情的基本概念,弄懂基本概念后,要想方设法的用到生活的点点滴滴上,这样能加深理论的记忆以及发现自己的盲点.在重复的实践

PHP:学习笔记(1)——环境配置

PhpStorm配置PHP环境(转自Han-kanon) 说明: 通过Setting 有 languages &frameworks 有php 选择右边的interpreter 添加路径,再在右边的PHPexecutable添加文件的路径就是XAMPP安装目录下的PHP目录,在苹果系统系,安装路径为XAMPP路径下的bin路径,之后,点击apply,apply就行了.bin路径,之后,点击apply,apply就行了. 点解编辑器的浏览器图标就可以运行了

JAVA学习笔记1——环境配置

·JDK 发展史 1995 java语言诞生 1996 JDK1.0发布 1997 JDK1.1发布 1998 JDK1.2发布(Java2),JFC/Swing技术发布 1999 Java被分成了J2SE.J2EE和J2ME,JSP/Servlet技术诞生 2000 JDK1.3发布,JDK1.4发布 2001 J2EE1.3发布 2002 J2SE1.4发布 2004 J2SE1.5发布更名为J2SE5.0 2005 J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为

Spring学习笔记01_环境配置

1.1       Spring jar包下载 (1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring. 然后,就可以看到发布的各个版本,选一个自己需要的版本,点击Download. (我这里下载的是当前最新版本spring-framework-4.1.6.RELEASE-dist) 1.2       Hello Wor

Openstack(Kilo)学习笔记之环境准备(二)

接上节Openstack(Kilo)学习笔记之环境准备(一) 一.配置源 1.配置EPEL源 yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.配置RDO源 yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm 3.升级系统源 yum upgrade 二.安装配置数据库

Objective-c学习笔记—— Ubuntu 环境搭建 + HelloWorld

一直想学习IOS手机开发,今天开始涉入该领域.好吧,先从基础开始--搭建开发环境. 系统: Ubuntu 12.04 LTS  64 位 环境搭建步骤: 1.安装编译器 sudo apt-get install gnustep* 2.配置环境变量 # set GNUstep GNUSTEP_ROOT=/usr/share/GNUstep/Makefiles export GNUSTEP_ROOT source /usr/share/GNUstep/Makefiles/GNUstep.sh 3.编

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com

异常的学习笔记+打包+doc的包编译

jvm默认的异常处理机制就是调用printStackTrace方法 对于多异常的处理.应该是定义更具体的异常来捕捉捕捉问题 捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 throw 和 throws的区别 throw是是用在函数上,而throws是使用在函数内 throw后面跟的是异常对象,而throws跟的是异常类可以 多个 对异常的分类: 1.编译时被检测到的异常. (值得去处理的异常,或者是希望得到调用者处理,并不影响运算意向) 2.编译时不被检测到的异常(运行时异常