Android自动化测试(UiAutomator)简要介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android自动化测试(UiAutomator)简要介绍

一、一个BUG引发的问题

如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”。这个问题我们如何验证呢?我想,最好的方式应该是自动化测试。

那么,自动化测试可以完成哪些任务呢?

简单的说,那些重复性的测试工作,都可以交给自动化完成:

1、设置手机的语言

2、添加、删除、收藏联系人

3、拨号、挂断

4、甚至发送短信、收藏短信

如果需要上面的功能,那么就开始自动化之旅吧。

二、Android自动化测试简单介绍

Android自动化测试主要分为Monkeyrunner、Rubotium、UiAutomator、Monkey(在我看来这个不算)等。主要特点:

1、Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作;缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限;

2、Rubotium:主要针对某一个APK进行自动化测试,APK可以有源码,也可以没有源码,功能强大;缺点是针对APK操作,而且需要对APK重新签名(有工具),因此操作相对复杂;

3、UiAutomator:优点:可以对所有操作进行自动化,操作简单;缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了;

4、Monkey:准确来说,这不算是自动化测试,因为其只能产生随机的事件,无法按照既定的步骤操作;

由上面介绍可以有这样的结论:测试某个APK,可以选择Rubotium;测试过程可能涉及多个APK,选择UiAutomator;一些简单的测试,选择Monkeyrunner;

本文主要介绍UiAutomator的使用方法。

三、环境搭建

3.1、必备条件:

1、JDK

2、SDK(API高于15)

3、Eclipse(安装ADT插件)

4、ANT(用于编译生成jar)

3.2、简要步骤:

1、安装JDK并添加环境变量。

安装后,一定要通过JAVA_HOME的方式添加环境变量,即先建立JAVA_HOME 变量,然后在path中添加%JAVA_HOME%\bin;

2、添加SDK环境变量。

一定要先建立ANDROID_HOME,然后把%ANDROID_HOME%\tools添加到path 中;

3、安装Eclipse,并安装ADT插件。

4、安装ANT工具,并添加环境变量。

同样一定要先建立%ANT_HOME%变量,然后在path中添加%ANT_HOME%\bin

四、详细操作

4.1、建立工程

用Eclipse新建Java Project,注意,不是Android Project!

4.2、添加JUnit库

4.3、添加Android库

找到路径Android-sdk\platforms\android-17\下面的android.jar和uiautomator.jar添加进来:

所有库添加完应该是这个样子:

4.4、在src中添加包,然后添加class文件

文件内容为:

[java]view plaincopy

1.package com;

2.import com.android.uiautomator.core.UiObject;

3.import com.android.uiautomator.core.UiObjectNotFoundException;

4.import com.android.uiautomator.core.UiScrollable;

5.import com.android.uiautomator.core.UiSelector;

6.import com.android.uiautomator.testrunner.UiAutomatorTestCase;

7.

8.public class Runner extends UiAutomatorTestCase {

9.

10.public void testDemo() throws UiObjectNotFoundException {

11. getUiDevice().pressHome();

12.// 进入设置菜单

13. UiObject settingApp = new UiObject(new UiSelector().text("Settings")

);

14. settingApp.click();

15.//休眠3秒

16.try {

17. Thread.sleep(3000);

18. } catch (InterruptedException e1) {

19.// TODO Auto-generated catch block

20. e1.printStackTrace();

21. }

22.// 进入语言和输入法设置

23. UiScrollable settingItems = new UiScrollable( new UiSelector().scrol

lable(true));

24.

25. UiObject languageAndInputItem = settingItems.getChildByText(

26.new UiSelector().text("Language & input"), "Language & input

", true);

27. languageAndInputItem.clickAndWaitForNewWindow();

28.

29. }

30.}

上面工程路径在e:\workspace\AutoRunner,类全名为com.Runner,至于具体的作用我们现在不去关心。

4.5、找到SDK ID

相关文档
最新文档