• Android UiAutomator环境搭建及使用(QQ交流群:490451176)


    Android自动化框架常用的有很多,本身也提供了很多自动化测试框架,每个都有其优势和不足 。当然对于我们做UI自动化测试来说,简单易用即可。

    UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,且不需要测试人员了解代码实现细节,测试人员可以用uiautomator投入viewer抓取app页面的控件属性,不需要看源码。基于java,测试代码结构相对简单,且容易上手,学习成本不高,一次编译,所有设备或模拟器都能运行测试,能跨app。当然,不足是:只支持sdk16及以上,不支持Hybird app、webapp。下面,我们来一个小例子,进行说明uiautomator的环境搭建和使用。

    一、环境准备

      1. 安装JDK,必要条件。

      2. 下载sdk/adt(android所需,目前adt自带sdk和eclipse,API需要16以上),配置环境变量:先建立ANDROID_HOME,然后在path中添加%ANDROID_HOME% ools;

      3. 安装ANT工具,并配置环境变量:先建立ANT_HOME变量,然后在path中添加%ANT_HOME%in;测试是否成功,运行-ant。

      4. 安装Eclipse,并安装adt插件。

    二、建立Eclipse project

      1. 打开Eclipse,new-新建java project,输入project 名 UIAutomator,点击finish。

      

      2. 添加Android库

      找到路径sdkplatformsandroid-20下面的android.jar和uiautomator.jar,copy到project的lib下。

      

      

      

      把Android.jar 和uiautomator.jar build path中来。

      3. 新建第一个Demo程序

      

      代码中,写入 getUiDevice().pressHome();一行代码进行测试。

      4. 查看sdk ID

      cmd进入sdk ools 目录下,运行命令:android list,查看API 大于15的SDK的ID值,及当前已安装Android版本,当前是1

      

      5. 生成bulid文件

      在sdk ools目录下,运行命令:android create uitest-project -n <name> -t <android-sdk-ID> -p <path>

      其中name为将来生成的jar包的名字,可以自己定义,android-sdk-ID为上一步骤看到的1,path是project的路径名称,android create uitest-project -n first -t 1 -p E:workspaceUIAutomator

      

      运行命令后,将会在工程的根目录下生成build.xml文件

      

      6.编译生成jar

      cmd进入项目的project目录,然后运行ant build,使用ant编译生成jar,执行如下:

       

      在bin目录下生成rar文件

      

      7. push并运行jar

      adb push <jar文件路径> data/local/tmp

    实际执行命令为:adb push E:workspaceUIAutomatorinfirst.jar data/local/tmp

      

      8. 运行jar文件

      adb shell uiautomator runtest <jar文件名> -c <包名.类名>

      实际运行命令为:adb shell uiautomator runtest first.jar -c com.iu.android.TestPage.TestDemoOne(注意不要写错包名和类名),可以看到手机会按照Runner中的步骤自动执行。

  • 相关阅读:
    javascript之理解参数按值传递
    javascript之模仿jQuery实现框架雏形
    javascript之正则表达式学习笔记
    python常用算法了解
    爬虫_小结04
    爬虫_小结03
    爬虫_小结02
    爬虫_小结01
    IO 模型
    数据库,前端和框架须知
  • 原文地址:https://www.cnblogs.com/hiyu/p/6412088.html
Copyright © 2020-2023  润新知