UiAutomator环境搭建及详细操作

2014-11-17  白云 

一、环境搭建

1.1 必备条件

1、JDK

2、SDK(API高于15)

3、Eclipse(安装ADT插件)

4、ANT(用于编译生成的jar)

1.2 简要步骤

1、安装JDK并添加环境变量

先建立JAVA_HOME变量,然后在path中添加%JAVA_HOME%\bin;

2、添加SDK环境变量

先建立ANDROID_HOME,然后在path中添加%ANDROID_HOME%\tools;

3、安装Eclipse,并安装ADT插件

4、安装ANT工具,并添加环境变量

先建立ANT_HOME变量,然后在path中添加%ANT_HOME%\bin

二、详细操作

2.1建立工程

用Eclipse新建Java Project

File->New->Java Project,输入工程名称点击"Finish"


2.2添加JUnit库

在工程名称上点击右键,Bulid Path->Configure Bulid Path


点击Next

点击Finish

2.3添加Android库

找到路径sdk\platforms\android-18下面的android.jar和uiautomator.jar添加进来(android-17以上):


所有库添加完成后如下图:


2.4在src中添加包,然后添加class文件

在新建的工程下的src上点击右键,New->Class

输入包名和类名,包名的命名规则:首字母为小写,类名:首字母英文大写,后面字母均为小写,多个单词组成,每个单词的首字母大写


点击Finish

在class文件中添加如下内容:


2.5找到SDK ID

cmd进入sdk\tools\ 目录下,运行命令:android list

查看API 大于15的SDK的ID值,当前是2;


2.6创建bulid文件

仍然在\sdk\tools\目录下,运行命令:

android create uitest-project -n <name> -t <android-sdk-ID> -p <path>

其中name为将来生成的jar包的名字,可以自己定义,android-sdk-ID为上一步骤看到的2,path是新建工程的路径名称

android create uitest-project -n AutoRunner -t 2 -p D:\adt-bundle-windows-x86_64-20140702\eclipse\workspace\ChpJavaTwo

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


2.7编译生成jar

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


在bin目录下生成rar文件


2.8 push并运行jar

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

实际执行命令为

adb push D:\adt-bundle-windows-x86_64-20140702\eclipse\workspace\ChpJavaTwo\bin\AutoRunner.jar data/local/tmp


运行jar文件

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

实际运行命令为

adb shell uiautomator runtest AutoRunner.jar -c testpackage.TestClass(注意不要写错包名和类名)

可以看到手机会按照Runner中的步骤自动执行。

2726°/27163 人阅读/10 条评论 发表评论

依米  2015-09-16

你好 我到倒数第二步的时候 adb push data/local/tmp 出现错误error:device not found,怎么解决呢?多谢楼主,我邮箱是ou13790835170@163.com ,麻烦有时间就回复一下,谢谢了


白云  2015-09-17

是不是没有连接设备呢?或者设备断开了,重新连接下设备吧~


依米  2015-09-17

楼主,你好,最后运行是怎样的 我没看到手机显示效果呀,dos显示是这样的instrumentation_status_code: stream= Test results for WatcherResultPrinter= Time:0.012 OK(0 test) instrumentation_status_code:-1 楼主这是什么问题?楼主你的显示是怎样的?多谢了


依米  2015-09-17

@白云 是没连设备,谢谢啦!我可以用模拟器来代替手机吗?目前我开的是Android模拟器,运行最后一步后dos和设备显示结果是怎样的呢?谢谢楼主


刚子  2016-04-21

十分感谢大神,影响好几天的问题突然解开


小胡  2016-07-28

你好,我在创建好class文件后,我的显示是package hdp2; public class TestCase { } 为什么不是public class TestCase extend to UiAutomatorTestCase{}呢


威风  2016-12-28

您好,我在编译生成jar的时候输出ant build一直提示不是内部或者外部命令


白云  2016-12-29

@威风 是不是没有添加环境变量啊?在path中添加%ANT_HOME%\bin


张小猫  2017-01-09

@依米 我也出现这问题了,但是手机连着呢啊,请教下怎么回事?????


杨进  2017-03-21

@依米,我和你的问题相同,请问你是怎么解决的,我在ddms中查看,手机是连上的


登录 后发表评论