Robotium 教程:你的第一个 Android 骨架
什么是 Robotium?
Robotium 是一个 Android 测试框架,用于自动化本机和混合应用程序的测试用例。使用 Robotium,开发人员可以为 Android 应用程序。此外,开发人员可以编写功能、系统和验收测试场景,将许多 Android 活动。
Robotium 测试框架
标准版 Android 测试框架存在如下一些限制
- 无法处理多项活动
- 测试执行性能缓慢
- 测试用例复杂且难以实施
机器人馆框架 是进行测试的更好选择 Android 应用的区域
Robotium 是一个开源框架,被认为是 Android 测试框架。使用 Robotium,开发人员可以创建强大的自动 GUI 测试用例, Android 应用程序。此外,开发人员可以编写功能、系统和验收测试场景,跨越多个 Android 活动。
.png)
Robotium 测试用例类
Robotium 使用一组类(com.jayway.android.robotium.solo) 进行测试。此类支持跨多个活动的测试用例。Solo 与 ActivityInstrumentationTestCase2 集成。
.png)
测试人员可以使用 Robotium 测试用例类编写测试用例,而无需了解应用程序设计(黑盒测试)。与 Android 测试用例类。
如何使用 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)
您还可以 下载 Eclipse 带有内置 ADT 的 IDE(Android 开发者工具)。它包括必要的 Android SDK 组件和版本的 Eclipse 集成开发环境 (IDE)。
对于 Robotium 测试框架,您需要从 Robotium 网页.
创建 Android 测试项目
- 单击文件 -> 新建 -> 其他
- 选择: Android -> Android 按照下图测试项目 -> 选择下一步

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

创建测试套件
根据你的测试规范,你开始为你的测试程序创建测试套件。你可以选择各种测试框架。在本教程中,我选择标准 Android 测试框架 活动仪器测试用例2。如果您想使用 Robotium 框架进行测试,则必须将 Robotium 库文件添加到项目文件夹中的 libs 目录中。(在项目文件夹中创建 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) 运行测试
编写完测试程序后,按照以下步骤运行测试
- Connect 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)
源代码示例
本文包含一些源代码示例,帮助您更清楚地理解教程并快速掌握技术知识
- 您好Android:正在测试的应用程序。
- 您好Android测试:使用测试程序 Android 测试框架