UIautiomator官网地址:http://android.toolib.net/sdk/index.html

1.环境搭建

使用uiautomator需要导入jar包,uiautomator.jar和android.jar,位置在sdk/platforms/android*使用时需要注意自己的SDK版本需要大于16, SDK Tools版本需要大于21.如我下面跟新后SDK后出现了很多工具,以下是你需要使用到的工具

创建一个Java project项目

1.

2添加java Build path,创建一个library的个(不创建也可以)导入需要用到uiatuomator.jar和Android.jar,我使用的是Android19

因为博主使用的是junit做断言,所以也导入junit的包

导入了所有需要的包了,现在开始编码了

2.编码

完成后,编码中编码,根据自己需要的场景编码,如博主中中部分编码的截图:

uiatuomator使用还是挺简单,原理我还没有去深研究,因为今天主要写使用过程,就不追溯他的实现了,在使用uiatuomator时你必须明白几个类

UiAutomatorTestCase
UiDevice
UiSelector
UiScrollable
UiObject
UiWatcher

3.运行

编译和运行

1.创建build文件

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

  eg:

    android create uitest-project -n AutoRunner -t 6 -p e:\workspace\AutoRunner

E:\Soft\JAVA\adt-bundle-windows-x86_64-20131030\sdk\platforms\android-19

    上面的name就是将来生成的jar包的名字,可以自己定义,android-sdk-ID就是上面看到的6;path是Eclipse新

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

需要知道自己的sdk版本号,注意:可能提示版本太低,实际上已满足要求,解决方案:1.升级SDK 2.在sdk的bin目录下用Android list target命令 查询这个版本号

2.编译生成jar

    CMD进入项目的工程目录,然后运行ant build,将使用ant编译生成jar,成功将会提示:

    BUILD SUCCESSFUL

    Total time:1 second

还有直接使用eclipse直接生成,选择build右键------>run as---->ant build

直接更改build.xml文件,更改为“default="build"”,在进行一次build

3.push并运行jar

    将jar包push 到模拟器或者真实安卓设备

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

    eg:

    adb push e:\workspace\AutoRunner\bin\AutoRunner.jar data/local/tmp

    adb -s emulator-5554 push e:\workspace\AutoRunner\bin\AutoRunner.jar data/local/tmp

    运行jar包

    adb shell uiautomator runtest <jar文件名> -c <工程中的类名,包含包名>

    eg:

    adb shell uiautomator runtest AutoRunner.jar -c com.Runner

    adb -s emulator-5554 shell uiautomator runtest AutoRunner.jar -c com.Runner(虚拟机)

uiautomator做自动化的过程的更多相关文章

  1. 使用uiautomator做UI测试

    转载~~~~~~~~~~~~~~~~~~~~~~~~ 若有侵权,请及时联系本博主,博主将第一时间撤销 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautoma ...

  2. [转载]使用uiautomator做UI测试

    这个只是单纯的mark一下.还没有认真去研究.鉴于最近也不会做手机的自动化测试,所以留作以后参考吧. 转自: http://blog.chengyunfeng.com/?p=504 在Android ...

  3. [zhuan]使用uiautomator做UI测试

    http://blog.chengyunfeng.com/?p=504 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就 ...

  4. 关于RF做自动化大致流程的梳理

    RF只是一个框架,类似于单元测试框架,可以实现对用例的有效管理.结合其它第三方库,可以进行,接口,数据库,APP的自动化测试.结合JENKINS,还可以进行有效的持续集成. 本文不讲调用第三方库的哪些 ...

  5. 聊聊用Selenium做自动化碰到了哪些坑?都是怎么解决的?

    本周我们的讨论话题是关于Selenium自动化: 话题:聊聊用Selenium做自动化碰到了哪些坑?都是怎么解决的? 话题描述:Selenium是大家做UI自动化用到的主流框架,在平时写脚本的过程中, ...

  6. AppVeyor-CI为GitHub项目做自动化集成(dotnet为主)

    travis-ci对dotnet的项目做自动化集成不太友好,尤其是使用mono的编译和不能使用MSTest进行自动化测试,所以转到appveyor进行. appveyor的配置非常简单,有两种方式: ...

  7. 菜鸟如何使用hanlp做分词的过程记录

    菜鸟如何使用hanlp做分词的过程记录 最近在学习hanlp的内容,准备在节后看看有没有时间整理一波hanlp分享下,应该还是会像之前分享DKHadoop一样的方式吧.把整个学习的过程中截图在配文字的 ...

  8. 【Golang 接口自动化00】为什么要用Golang做自动化?

    为什么使用Golang做自动化 顺应公司的趋势学习了Golang之后,因为没有开发那么多的时间和项目来实践,怕步此前学习Java缺少练习遗忘殆尽的后尘,决定利用工作之余的时间把此前用Python的写的 ...

  9. 如何用Python做自动化特征工程

    机器学习的模型训练越来越自动化,但特征工程还是一个漫长的手动过程,依赖于专业的领域知识,直觉和数据处理.而特征选取恰恰是机器学习重要的先期步骤,虽然不如模型训练那样能产生直接可用的结果.本文作者将使用 ...

随机推荐

  1. Leetcode OJ : Triangle 动态规划 python solution

    Total Accepted: 31557 Total Submissions: 116793     Given a triangle, find the minimum path sum from ...

  2. Codeforces Round #359 (Div. 1)

    A http://codeforces.com/contest/685/standings 题意:给你n和m,找出(a,b)的对数,其中a满足要求:0<=a<n,a的7进制的位数和n-1的 ...

  3. STL --最常见的容器使用要点

    如果只是要找到STL某个容器的用法, 可以参考msdn和C++ Library Reference,msdn 上面的知识点应该是最新的,C++ Library Reference虽古老但是很多经典的容 ...

  4. iOS生命周期

    1.application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次.若用户直接启动,lauchOptions内无 ...

  5. 访问修饰符(access modifier)。

    1)public(公共的):被 public所修饰的属性和方法可以被有类访问. 所修饰的属性和方法可以被有类访问. 2)protected (受保护的):被protected所修饰的属性和方法可以在类 ...

  6. HDU1710Binary Tree Traversals

    HDU1710Binary Tree Traversals 题目大意:给一个树的前序遍历和中序遍历,要求输出后序遍历. (半年前做这道题做了两天没看懂,今天学了二叉树,回来AC了^ ^) 首先介绍一下 ...

  7. ORA-02041: client database did not begin a transaction

    .NET中访问Oracle数据库链接:ORA-02041: client database did not begin a transaction 问题的处理. .NET中访问Oracle中带有DB_ ...

  8. BroadcastReceiver学习笔记

    1.在代码中注册与在AndroiManifest.xml注册的区别 (a)在代码中注册可以控制注册与注销的时间.比如在onCreate-onDestory, onStart-onStop, onRes ...

  9. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  10. ECSHOP在线手册布局参考图--商品详情页 goods.dwt

        A.购物车 1,设置方法 程序自动读取购物车的商品数量 2,代码相关 cart.lbi 中 {insert_scripts files='transport.js'} <div clas ...