一、准备jar包
在sdk的platforms子目录下找到对应android系统版本的sdk,我这里模拟器中启动的是android4.4.2,所以我选择的是android-19,取得该目录下的两个jar包
1、android.jar
2、uiautomator.jar
二、创建java project
打开eclipse,新建java project,把上一步中取得的jar包添加到依赖。
新建一个package(例:com.xyh),创建一个java类(继承UiAutomatorTestCase),创建一个以test为前缀的测试方法,例:
package com.xyh;
import com.android.uiautomator.core.UiDevice;
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 TestUIAutomation extends UiAutomatorTestCase {
public void testBrowser() throws UiObjectNotFoundException{
}
}
打开genymotion,启动android模拟器:
打开cmd,执行uiautomatorviewer.bat(该脚本位于sdk目录的tools子目录下,需要加入环境变量,或者cd到该目录执行),打开成功后会出现该界面:
点击上图中小图标,会出现模拟器中的android系统界面:
我们这里以打开浏览器,进去www.qq.com网站的一个自动化脚本为例,so,在uiautomatorviewer中点击浏览器图标,然后我们可以在node detail中看到该控件结点的详细信息,记下text信息,后面脚本代码中会用到:
然后在模拟器中打开浏览器,再回到uiautomatorviewer中点击浏览器的地址输入框,可以在node detail中看到该控件结点的详细信息,记下class信息,后面脚本代码中会用到:
准备工作都做好了,现在我们来编写我们的测试脚本:
package com.xyh;
import com.android.uiautomator.core.UiDevice;
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 TestUIAutomation extends UiAutomatorTestCase {
public void testBrowser() throws UiObjectNotFoundException{
UiObject browserObject = new UiObject(new UiSelector().text("浏览器"));
browserObject.clickAndWaitForNewWindow();
UiObject editObject = new UiObject(new UiSelector().className("android.widget.EditText"));
editObject.click();
UiDevice.getInstance().pressDelete();
editObject.setText("www.qq.com");
UiDevice.getInstance().pressEnter();
sleep(2000);
}
}
三、生成build.xml
打开cmd命令行,cd到java project(该脚本工程所在)目录,执行:
android create uitest-project -n demo -t 1 -p E:\android—_project\Demo
-n:生成的jar名字
-t:使用的target id(可以执行adb list targets查看)
-p:java project目录
执行成功后会输出:Added file E:\android—_project\Demo\build.xml,在我们的java project目录下会多出一个build.xml文件。
四、生成jar
切换回eclipse中,在java project中找到并打开build.xml,修改头部project标签的default属性为build,点击run,选择ant build,直至console输出BUILD SUCCESSFUL并在工程bin目录底下生成demo.jar文件。
五、拷贝到android手机并执行
1、拷贝demo.jar到手机/data/local/tmp/目录:
adb push demo.jar /data/local/tmp/
2、执行自动化脚本
adb shell uiautomator runtest demo.jar -c com.xyh.TestUIAutomation
这时候我们就会看到手机自动打开浏览器并且进入QQ官网首页。