Android测试工具中,Monkey Runner只要简单几个指令即可,但他的局限性在于都是基于像素位置操作,不具备移植性

而采用uiautomator编写的自动化测试工具则可以实现基于UiSelector选择直接操作uiObject来编写基于属性操作具备移植性的测试

注:

android官方给出的版本条件如下,若低于这些版本请先下载新版本

Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 16 or higher


1. 首先我们先了解一下属性操作,并用uiautomatorviewer来分析一下应用UI组件。

工具路径:/tools/.

左边为当前截屏,移动到上面有个红色的悬浮框表示当前选中节点,当前选中的会在右上角蓝色高亮,右下角显示即是此view的属性。

至于这些有什么作用,稍后我们再看(请注意content-desc属性,我们稍后会用)。


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自动测试都要继承UiAutomatorTestCasepublic class MessageTestCase extends UiAutomatorTestCase {public void testDemo() throws UiObjectNotFoundException{//获取UiDevice对象UiDevice device = getUiDevice();//点击home键操作device.pressHome();//如截图中提到的,我们使用content-desc属性Apps选择所有应用列表UiObject appsTab = new UiObject(new UiSelector().description("Apps"));appsTab.click();//因为短信界面在第二个列表页面,所以我们可以先滑动一下//通过scrollable属性来选定滑动viewUiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));appViews.setAsHorizontalList();appViews.scrollForward();//通过类名和Text找到短信应用图标,Text获取通过uiautomatorviewerUiObject 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=

4.3 然后需要下载ant,并设置ant为环境变量(也可以不设置,不过使用这个命令前加上路径)

首先切换路径到工程所在目录,然后使用如下命令编译

apache-ant-1.9.3\bin\ant build

之后在工程的bin目录下回生成.jar文件

4.4 push jar文件到一个目录,如

adb push /data/local/tmp

4.5 运行测试

adb shell uiautomator runtest MessageTestCase.jar -c com.wjh.test.MessageTestCase

更多相关文章

  1. Android之TextView属性列表
  2. Android轻量级存储源码分析
  3. Svg标签跟学习
  4. 在Ubuntu中和Android中添加开机自启动的守护进程
  5. EditText设置更多文字为省略号
  6. Android(安卓)Layout XML属性
  7. Android(安卓)特殊界面效果之——透明界面
  8. android:layout_weight属性详解
  9. android 设置应用退出后不在运行列表中显示

随机推荐

  1. Android(安卓)笔记5---事件处理和手势
  2. android屏幕页面实现滚动,页面跳转
  3. Android中利用Fragment显示为两屏
  4. android中view手势滑动冲突的解决方法
  5. [置顶] 100多个Android(安卓)Demo的整合
  6. Android4.4 WebAPI实现拍照上传功能
  7. libxml2 的一个简单测试示例
  8. Android使用SoundPool播放音效
  9. Android中的工厂模式(减少if-else和switch
  10. 推荐Android15个常用的图表库,包含线性,条