一. 需要用到的包:
1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant
2.ant下载地址:http://ant.apache.org/bindownload.cgi
3.解压adt-bundle-windows-x86_64-20140702.zip,得到的目录结构:
二. 安装步骤
1.安装JDK并设置系统变量
2.打开SDK Manager.exe,请按红框操作,打开弹窗路径:菜单Tools->options
3.选择下载API,在该项我们发现没有system-image组件,这个是模拟器系统所需的,否则或者无法启动模拟机(使用真机的话,可以忽略)
4.system-image组件下载,请进入网址http://downloads.puresoftware.org/files/android/system-images/,下载对应API的system-image(如果只是作为自动化使用,建议API与开发产品的环境一致)
5.打开eclipse,创建模拟器
6.创建第一个APP,按要求选择自己所需的API版本即可
7.编译执行的过程有可能出现错误,学习目前建议选择API-19
三 . UIautomator自动化
1.创建新的Java Project项目,将android.jar/uiautomator.jar 导入到项目内(该包的路径在:ADTsdkplatformsandroid-19)
2.导入junit4的库
3.使用uiautomatorviewer.bat获取元素信息:(我使用了真机进行调试)
4.创建测试demo,测试打开设置等相关,具体查看以下代码:
package demo; import java.io.IOException; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class LauachSettings extends UiAutomatorTestCase{ public void testDemo()throws UiObjectNotFoundException,IOException{ getUiDevice().pressHome(); //进入设置菜单 UiObject settingApp = new UiObject(new UiSelector().text("设置")); settingApp.click(); //休眠3秒 try{ Thread.sleep(3000); }catch(InterruptedException e){ e.printStackTrace(); } //进入语音和输入法设置 UiObject settingAdd = new UiObject(new UiSelector().text("语言和时间")); settingAdd.click(); } }
5.找到sdk id,进入sdk-tools目录执行android list(我们选择android-19,id为1)
6.创建build文件
在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 TestDemo -t 1 -p F:androidwspTestDemo
运行命令后,将会在工程的根目录下生成build.xml文件
7.编译生成jar包
cmd进入项目的工程目录,然后运行ant build,使用ant编译生成jar,执行如下:
8.运行命令后在项目目录可以看到生成的jar包
9.将jar包传送到手机并运行
adb push F:androidwspTestDemoinTestDemo.jar data/local/tmp
运行:
adb shell uiautomator runtest <jar文件名> -c <包名.类名>
adb.exe shell uiautomator runtest TestDemo.jar -c demo.LauachSettings
10.观察真机,可以看到执行的步骤
END. 以上为uiautomator执行自动化测试的demo项目从部署到运行全过程~