最受欢迎的Android UI测试工具-Robotium使用教程

 

Robotium是用于测试本地型和混合型Android应用程序的自动化测试框架。...







Robotium是用于测试本地型和混合型Android应用程序的自动化测试框架。它提供了简单的API来编写UI自动化脚本。有各种的工具可用于测试Android应用程序,Robotium则是最常用的一种。

Robotium可用于功能编写,系统验收测试和用户验收测试。Robotium Testcases可以在Android模拟器以及Android的真实设备中执行。

这篇Robotium教程包含哪些内容:

  • 优点
  • 准备条件
  • 创建Robotium项目
  • 创建Robotium类
  • 一些Robotium方法
  • 在Android应用程序中查找元素
  • 示例代码
  • 执行Robotium项目
  Robotium的优点:

1、易编写

2、API简单(所有方法仅在Solo Class中可用)

3、自动Delays & Timings

4、当从一个activity到另一个时,不需要编写代码

5、测试Android本机应用程序以及混合应用程序。

6、能够处理多个Android activity。

7、编写测试所需时间较少,因为API很简单。

8、由于运行时绑定到UI组件,测试用例是可靠的

9、执行测试用例效率高

10、便于Maven和ANT

 先决条件

1) 下载安装JAVA

-将Java库添加到PATH中,并在环境中将JAVA_HOME设置为java安装目录的根目录

 2) 下载ADT Bundle

-提取ADT Bundle,并将其放入一个文件夹中

-在环境中将ANDROID_HOME设置为ADT bundle文件夹的根目录。

 创建Robotium项目

只需很少几个步骤就可以创建一个项目

 Step #1:打开eclipse,其中包含所需测试的android应用软件
Step #2:右键单击Android项目 - > Android工具,然后单击新的测试项目。

Step #3:为测试项目命名,然后单击下一步按钮。
Step #4:选择被测试应用程序作为目标,然后单击完成按钮
Step #5:在eclipse工作区中创建测试项目。

Step #6:下载Robotium solo jar

Step #7:右键单击工作区中的测试项目,创建路径并且点击Configure创建路径

Step #8:切换到库选项卡,单击"添加外部jar"选项,浏览下载Robotium jar文件并将其添加到库中,然后单击"确定"。
创建Robotium类

 #1:右键单击测试项目中src目录下的package,然后创建一个新类。

  #2:导入Main Activity类的Robotium测试项目。

Syntax:

1 import com.sasi.attendanceproject.Home;

 #3:新建的类将继承ActivityInstrumentationTestCase2类的属性

1  public class AttendanceTest extends

2  ActivityInstrumentationTestCase2

(注:这里,Home是要在android应用程序中测试的activity)

 #4:Solo类创建实例如下:

1  private Solo solo;

  #5:为类创建一个Constructor,如下

1   public AttendanceTest() {

2   super(Home.class);

3   // TODO Auto-generated constructor stub

 #6:创建setUp和tearDown方法,如下所示:

Setup方法用于启动Instrumentation

1 public void setUp()throws Exception

2 {

3  solo=new Solo(getInstrumentation(), getActivity());

4 }

测试完成后,使用Teardown方法来关闭activity。

1 public void tearDown() throws Exception

2 { solo.finishOpenedActivities();

3 }

一些Robotium方法

 #1 assertCurrentActivity(text,Activity)

此方法用于验证当前activity是否用于发送参数传递。

Syntax

1solo.assertCurrentActivity("Current Activity", Home.class);

#2 clickOnButton(text)

此方法用于单击具有指定文本的按钮。

Syntax:

1solo.clickOnButton("ADMIN");

 #3. clickOnButton(int)

此方法用于单击具有指定索引的按钮。

Syntax:

1solo.clickOnButton(2);

#4.waitForText(text)

此方法用于wait直到文本出现在activity中。

Syntax:

1solo.waitForText("Creating New Password");

 #5 enterText(int, text)

此方法用于输入作为第二个参数传递给指定的索引编辑框文本。

Syntax:

1solo.enterText(0,"test");

#6. clickOnCheckbox(int)

此方法将单击具有给定索引的复选框

Syntax:

1solo.clickOnCheckBox(0);

 #7 clickOnRadioButton(int)

此方法用于单击具有给定索引的复选框。

Syntax:

1solo.clickOnRadioButton(1);

 #8 clickOnImage(int)

此方法用于单击具有给定索引的图像

Syntax:

1solo.clickOnImage(1);

 #9 clearEditText(int)

此方法用于使用给定的索引清除编辑框中的文本。

Syntax:

1solo.clearEditText(0);

 示例程序

在Android应用程序中查找元素

  步骤-1:打开包含需测试Android应用程序的Eclipse。

步骤-2:展开项目,转到Layout文件夹并双击activity XML文件。它将在eclipse编辑器上打开设计的activity。

步骤-3:定位按钮元素

通过ID查找元素

单击你要查找的元素。在右侧的属性面板中,可以找到该元素的ID。
在上图中,元素的ID是btnadmin。

定位这个按钮的相应Robotium代码是:

1solo.clickOnButton(R.id.btnadmin);

通过位置定位元素:



如果ID不可用,那么你可以使用order找到元素。如果按钮处于第二位置,则你可以通过这样定位button:

1solo.clickOnButton(1);
......


推荐阅读

点击阅读☞软件测试使用测试文档

点击阅读☞为什么要先从测试用例编写和文档编写开始?

点击阅读☞需求评审前的测试准备流程规范

点击阅读☞软件测试的修行之道

点击阅读☞敏捷脑图测试用例实践之路


填问卷送视频,福利倒计时!


点击左下角“阅读原文”查看全文内容!


    关注 51Testing软件测试网


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册