Android uiautomator

先介绍老版本01:下面是网上搜集的简单实例和环境配置:

1实例:

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

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

注:

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

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


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

工具路径:<android-sdk>/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

[java]  view plain  copy
 print ?
  1. //所有UI自动测试都要继承UiAutomatorTestCase  
  2. public class MessageTestCase extends UiAutomatorTestCase {  
  3.     public void testDemo() throws UiObjectNotFoundException{  
  4.         //获取UiDevice对象  
  5.         UiDevice device = getUiDevice();  
  6.           
  7.         //点击home键操作  
  8.         device.pressHome();  
  9.           
  10.         //如截图中提到的,我们使用content-desc属性Apps选择所有应用列表  
  11.         UiObject appsTab = new UiObject(new UiSelector().description("Apps"));  
  12.         appsTab.click();  
  13.           
  14.         //因为短信界面在第二个列表页面,所以我们可以先滑动一下  
  15.         //通过scrollable属性来选定滑动view  
  16.         UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));  
  17.         appViews.setAsHorizontalList();  
  18.         appViews.scrollForward();  
  19.           
  20.         //通过类名和Text找到短信应用图标,Text获取通过uiautomatorviewer  
  21.         UiObject messageApp = appViews.getChildByText(new UiSelector().className(android.widget.TextView.class.getName()), "Messaging");  
  22.         //点击并等待打开短信应用  
  23.         messageApp.clickAndWaitForNewWindow();  
  24.           
  25.         //选择新建短信  
  26.         UiObject newMessage = new UiObject(new UiSelector().description("New message"));  
  27.         newMessage.click();  
  28.           
  29.         //选择编辑信息  
  30.         UiObject editMessage = new UiObject(new UiSelector().text("Type text message"));  
  31.         editMessage.click();  
  32.         editMessage.setText("hello world!");  
  33.     }  
  34. }  



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

2:环境ant配置

Apache Ant,是一个基于Java的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用。默认情况下,脚本文件名为build.xml 。

Windows 下的安装和配置

安装步骤:

  1. 下载最新版本,ANT官方网站: http://ant.apache.org/ 下载后解压缩即可。
  2. 配置环境变量:

打开环境变量配置窗口可以通过下面步骤打开:我的电脑(Vista之后叫 计算机) –> 右键属性菜单点击 –> 高级(Vista之后是 高级系统设置) –>  点击环境变量按钮(如下图:)

image

然后在随后出现的环境变量窗口中的系统变量这里,增加下面的两个设置:

image

  • ANT_HOME:C:\apache-ant-1.7.1                 (这里为你自己解压缩的目录)
  • PATH:%ANT_HOME%\bin                          (这个设置是为了方便在dos环境下操作)

 

完成上述步骤,就安装完毕。

 

查看是否安装成功。

在dos窗口中输入命令ant,若出现结果: 
   Buildfile:build.xml does not exist! 
   Build failed 
说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立。

 

一个简单的使用ANT的例子

在 D 盘根目录下新建一个 build.xml 文件,文件的内容如下:

<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir="." >
   <target name="copyfile">
      <copy file="d:/a.txt" todir="e:/Temp" overwrite="true" />
   </target>
</project>

在 D 盘根目录下新建一个 a.txt 文件,内容随便。

进入DOS,依次执行:

  d: 
  ant

如同下面的截图:

image 

执行完毕后,我们会在 e:/Temp 目录下看到 a.txt 文件,跟D盘根目录下的完全一样,即Copy成功。

 

 

如果中间提示类似如下错误:

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

这是因为JDK 的安装有问题或者是 JAVA_HOME 环境变量没有设置或者设置有问题, jre下肯定没tools.jar。  

 

Linux 下的安装

这里以我使用的 ubuntu 为例:

http://www.360doc.com/content/08/0408/14/25392_1174537.shtml

http://iliuyong.javaeye.com/blog/228764

http://www.chedong.com/tech/ant.html

 

参考资料:

【工具】ANT的安装和配置(windows) 
http://www.cnitblog.com/intrl/archive/2009/04/11/56254.html

ANT的安装/配置笔记 
http://www.chedong.com/tech/ant.html

Linux的可执行文件是什么后缀? 
http://zhidao.baidu.com/question/41716875.html?si=5



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值