Robotium 教程:你的第一个 Android 骨架
什么是 Robotium?
Robotium 是一个 Android 测试框架,用于自动化原生和混合应用程序的测试用例。 Robotium开发者可以创建强大的自动化 GUI 测试用例。 Android 应用程序。此外,开发人员可以编写功能、系统和验收测试场景,将许多 Android 活动。
Robotium 测试框架
标准版 Android 测试框架存在如下一些限制
- 无法处理多项活动
- 测试执行性能缓慢
- 测试用例复杂且难以实施
Robotium框架 是进行测试的更好选择 Android 应用
Robotium 是一个开源框架,被认为是 的扩展 Android 测试框架。使用 Robotium开发者可以创建强大的自动化 GUI 测试用例。 Android 应用程序。此外,开发人员可以编写功能、系统和验收测试场景,跨越多个 Android 活动。
.png)
Robotium 测试用例类
Robotium 使用一组类(com.jayway.android.robotium.solo) 进行测试。此类支持跨多个活动的测试用例。Solo 与 ActivityInstrumentationTestCase2 集成。
.png)
测试人员无需了解应用程序设计(黑盒测试)即可编写测试用例。 Robotium 测试用例类。与……相比,这是一个非常出色的特性。 Android 测试用例类。
使用方法 Robotium
使用 Robotium 在您的 Android 测试项目,您需要按照以下步骤操作
运用 Robotium 对……进行测试 Android 申请。为了保证您的 Android 申请时,请遵循以下步骤
- 设计测试规范
- 开发测试程序
- 演练: 测试用例 在目标设备上
- 收集测试结果

步骤1)设计测试规范
- 这是测试应用程序的第一步。在此步骤中,您将定义要测试的目标。在您的 Android 应用程序中有许多目标需要测试,例如 UI、Activity、组件、服务。在应用程序中明确定义目标将有助于实现广泛的测试覆盖范围。
- 计划应进行的测试类型(单元测试、功能测试、系统测试)。
- 设计测试用例以达到最大覆盖率,但尽量减少测试用例数量。测试的代码越多,越有可能尽早发现错误。
步骤2)编写测试程序
本节指导您如何编写 Android 测试程序使用 Android 朱尼特 测试和 Robotium假设您已经开发了一个 Android 程序名称 HelloAndroid本程序具有如下所述的一些功能:
- 在屏幕上显示文字“Hello world!”。
- 显示消息 HelloAndroid 当用户按下“开始”按钮时

系统要求
- Android 平台带有预集成 JUnit 3.0框架。
- 为了创造 Android 测试项目来自 Eclipse,你的计算机必须安装:
- 最新版本 Android 平台(目前 Android 8.1)
您还可以 download Eclipse 带有内置 ADT 的 IDE(Android 开发者工具)。它包括必要的 Android SDK 组件和版本的 Eclipse 集成开发环境 (IDE)。
如报名参加 Robotium 测试框架,你需要向下滚动 Robotium 来自图书馆 Robotium 网页.
创建 Android 测试项目
- 单击文件 -> 新建 -> 其他
- 选择: Android -> Android 按照下图测试项目 -> 选择下一步

写下你的测试项目的名称。按照命名惯例,你的测试项目应该命名为“HelloAndroid测试”
.png)
选择要测试的目标应用程序。在本例中为 HelloAndroid 点击完成

创建测试套件
根据你的测试规范,你开始为你的测试程序创建测试套件。你可以选择各种测试框架。在本教程中,我选择标准 Android 测试框架 活动仪器测试用例2你必须添加 Robotium 如果您想进行测试,请将库文件放到项目文件夹下的 libs 目录中。 Robotium 框架。(您需要在项目文件夹中创建 lib 文件夹)。
测试用例定义了运行多个测试的装置。要定义测试用例,您必须遵循以下程序结构:
- 实现一个子类
TestCase. - 定义存储装置状态的实例变量
- 通过重写 setUp() 来初始化装置状态
- 通过覆盖tearDown()进行测试后的清理。
.png)
package com.example.helloandroid.test;
import com.example.helloandroid.HelloAndroid;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;
public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> {
private HelloAndroid mActivity;
private TextView mView;
private String resourceString;
private Solo solo;
public HelloAndroidTest () {
// TODO Auto-generated constructor stub
super("com.example.helloandroid",HelloAndroid.class);
}
@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
// super.setUp();
mActivity = this.getActivity();
solo = new Solo(getInstrumentation(),getActivity());
mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2);
resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world);
}
@Override
protected void tearDown() throws Exception {
// TODO Auto-generated method stub
//super.tearDown();
solo.finishOpenedActivities();
}
public void testPrecondition() {
assertNotNull(mView);
}
/* test Target application contains a text display "Hello World!"*/
public void testSearchText() {
assertEquals(resourceString,(String) mView.getText());
}
/* test HelloAndroid Activity on target application is exist*/
public void testCurrentActivity() throws Exception {
solo.assertCurrentActivity("wrong activity", HelloAndroid.class);
}
/* test Application UI contains "Start" button */
/* send event click button to target application */
public void testSearchButton() throws Exception {
boolean found = solo.searchButton("Start");
solo.clickOnButton("Start");
assertTrue(found);
}
}
添加测试用例
- 在与TestSuite相同的包中,我们创建TestCase类
- 测试某些活动,例如 HelloAndroid、创建测试用例范围 ActivityInstrumentationTestCase2Android>
- 在这个类中,测试人员可以通过getActivity()方法获取测试活动。
- 您可以通过创建名为“测试+原始方法名称”的方法自由地为测试活动创建测试
- 在测试方法中,测试人员可以使用 Android JUnit 函数来比较实际值和预期值。这些方法如下所示。
.png)
上述测试套件验证了应用程序 GUI 必须显示文本“Hello World!”,并包含一个名为“Start”的按钮。
步骤 3) 运行测试
编写完测试程序后,按照以下步骤运行测试
- 互动 Android 设备连接到您的电脑(如果您没有真实设备,则启动模拟器)。
- 在你的 IDE 中,右键单击àRun asàAndroid 单元测试

除了在 IDE 上运行测试,你也可以在命令行上运行测试。在这个测试程序中,测试包是 com.example.helloandroid.test 。在 Linux 终端,您可以使用以下命令运行此包中的所有测试:
$ adb shell am Instrument -w -e 包 com.example.helloandroid.test
步骤 4)获取测试结果
测试执行后,您将获得测试结果。
该测试程序共执行了4个测试方法,所有测试用例均通过。
.png)
如果测试用例失败,则会显示输出并显示哪些测试用例失败
.png)
源代码示例
本文包含一些来源 Code 示例可以帮助您更清晰地理解教程,并快速掌握技术知识。
- 您好Android:正在测试的应用程序。
- 您好Android《测试》(Test):使用测试程序 Android 测试框架

.png)