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. Code First 更新数据库结构

    参考:http://blog.csdn.net/sxycxwb/article/details/12186159 0.删除之前的数据库 1.Run the Enable-Migrations comm ...

  2. minicom 没有tx 信号

    在minicom -s 的配置中:——> Serial port setup -->  选择F - Hardware Flow Control : No默认是yes, 但是没有tx信号输出 ...

  3. HW6.12

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  4. A Tour of Go Exercise: Fibonacci closure

    Let's have some fun with functions. Implement a fibonacci function that returns a function (a closur ...

  5. 新浪新闻API接口

    头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao推荐 http://api.sina.cn/sinago/list.json?ch ...

  6. OWIN学习

    在微软.net的dll中 有Microsoft.Owin Microsoft.Owin.Security, Microsoft.Owin.Security.Cookies, Microsoft.Owi ...

  7. Struts2中DMI(动态方法调用)的错误问题(There is no Action mapped for namespace [/xxx] and action name [xxx!yyy] a)

    默认的Struts.xml中是这样的 <constant name="struts.enable.DynamicMethodInvocation" value="f ...

  8. 一个使用CDS VIEW 的 DEMO

    一个使用CDS VIEW 的demo REPORT demo_cds_currency_conversion. CLASS demo DEFINITION. PUBLIC SECTION. CLASS ...

  9. C#基础知识之方法重载总结

    1.首先解释一下什么是方法重载?    方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术. 这里所说的参数不同是指以下几种情况: ①  参数的类型 ...

  10. iOS 有关自动轮播图片

    //初始化当前视图 _currentImageView = [[UIImageView alloc] init]; [_currentImageView setImageWithURL:[NSURL ...