0、前提:
(1)JDK环境
(2)SDK环境
(3)ant环境
1、建立一个java工程,并引入相应的jar包:
(1)右键点击项目,选择“Properties —> Java Build Path”;
(2)点击“Add Library —>JUnit then select JUnit4”,添加JUnit框架;
(3)点击“Add External JARs”,选择android sdk/platforms/android-xx/目录下相应的sdk版本文件下的android.jar和uiautomator.jar两个文件。(建议使用19以上,新增UiSelector.resourceId系列方法,方便控件抓取时使用)
配置好环境后的Libraries情况如上图
2、创建一个测试用例:
(1)每个测试类都需要继承于UiautomatorTestCase,
(2)测试用例编写风格参照与JUnit,每个类可以有多个测试用例,用例之间不建议耦合。
3、为该工程创建build.xml文件:
(1)创建命令为:android create uitest-project -n $jarName -t $targetID -p $projectPath
其中 jarName:需要生成jar包的名字(可以直接只用工程名)
targetID:编译使用android level在本机上的对应的ID
projectPath:工程路径
(2)获取targetID:
在终端输入android list,在打印出来的信息中选择API大于17的id编号
(3)执行编译命令,成功后,即在相应目录下生成build.xml文件
准确来说是以下三个文件
具体说明:
build.xml:ant编译脚本,为/Android Sdk/tools/ant/build.xml的副本
local.properties:存储本机sdk路径,若sdk目录迁移,需要在此文件进行修改
project.properties:存储编译使用的API Level,如target=android-19
4、使用ant编译测试工程;
(1)切换到相应的工程目录下
(2)使用ant build进行编译
(3)编译成功后,就会在工程根目录下生成一个bin文件夹,编译好的jar包就在该文件夹下
5、将jar包push到手机里
adb push $jarPath data/local/tmp
6、运行uiautomator命令进行测试;
adb shell uiautomator runtest $jarName –c $testcase
其中 jarName:jar包的名称
testcase:测试用例名称
7、当然上面的东西全部用自动化就能完成,脚本如下:
(1)将脚本放置工程目录下
(2)在测试用例中添加main函数调用
(3)直接运行即可,输出日志都在控制台打印。