Android uiautomator实例使用

ndroid测试工具中,Monkey Runner只要简单几个指令即可,但他的局限xìng在于都是 基于像素位置操作,不具备移植xìng 。 
而采用uiautomator编写的自动化测试工具则可以实现基于UiSelector选择直接操作uiObject来编写 基于属xìng操作具备移植xìng的测试 。 
注: 
android官方给出的版本条件如下,若低于这些版本请先下载新版本 
Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 16 or higher
 
1. 首先我们先了解一下属xìng操作,并用uiautomatorviewer来分析一下应用UI组件。 
工具路径:<android-sdk>/tools/. 
左边为当前截屏,移动到上面有个红sè的悬浮框表示当前选中节点,当前选中的会在右上角蓝sè高亮,右下角显示即是此view的属xìng。 
至于这些有什么作用,稍后我们再看(请注意content-desc属xìng,我们稍后会用)。 
2. 打开eclipse,新建立一个 Java Project, 我这里建立的是MessageTestCase 
2.1 之后右键项目Property->Java Build Path->Libraries->Add Library->JUnit->JUnit3->Finish 
2.2 回到Property界面后还是选择Libraries->Add External JARs->选择Android SDK路径\platforms\android-**->选中Android.java和uiautomator.jar 
2.3 之后点击ok,关闭Property窗口 
3. 之后我们编辑code完成操作,主要操作是进入短信界面,编辑一条hello world 
//所有UI自动测试都要继承UiAutomatorTestCase
public class MessageTestCase extends UiAutomatorTestCase {
	public void testDemo() throws UiObjectNotFoundException{
		//获取UiDevice对象
		UiDevice device = getUiDevice();
		
		//点击home键操作
		device.pressHome();
		
		//如截图中提到的,我们使用content-desc属xìngApps选择所有应用列表
		UiObject appsTab = new UiObject(new UiSelector().description("Apps"));
		appsTab.click();
		
		//因为短信界面在第二个列表页面,所以我们可以先滑动一下
		//通过scrollable属xìng来选定滑动view
		UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));
		appViews.setAsHorizontalList();
		appViews.scrollForward();
		
		//通过类名和Text找到短信应用图标,Text获取通过uiautomatorviewer
		UiObject messageApp = appViews.getChildByText(new UiSelector().className(android.widget.TextView.class.getName()), "Messaging");
		//点击并等待打开短信应用
		messageApp.clickAndWaitForNewWindow();
		
		//选择新建短信
		UiObject newMessage = new UiObject(new UiSelector().description("New message"));
		newMessage.click();
		
		//选择编辑信息
		UiObject editMessage = new UiObject(new UiSelector().text("Type text message"));
		editMessage.click();
		editMessage.setText("hello world!");
	}
}

4. 然后编译和发布uiautomator测试 
4.1 进入sdk tools目录使用如下命令: 
android.bat create uitest-project -n  MessageTestCase  -t 1 -p " C:\Documents and Settings\***\workspace\MessageTestCase
其中MessageTestCase是工程名,第二个路径是工程所在路径 
然后会在工程所在路径生成一个build.xml文件 
4.2 使用如下命令设置Android Home 
set ANDROID_HOME=<path_to_your_sdk> 
4.3 然后需要下载ant,并设置ant为环境变量(也可以不设置,不过使用这个命令前加上路径) 
首先切换路径到工程所在目录,然后使用如下命令编译 
apache-ant-1.9.3\bin\ant build 
之后在工程的bin目录下回生成.jar文件 
4.4 push jar文件到一个目录,如 
adb push <path_to_output_jar> /data/local/tmp 
4.5 运行测试 
adb shell uiautomator runtest MessageTestCase.jar -c com.wjh.test.MessageTestCase 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值