码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-03-31 00:36:50      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:

概述

  • 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项目,即可

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

标签:

原文地址:http://www.cnblogs.com/WangKangReg/p/4379590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!