【Robotium】环境搭建简单说明

需要的软件如JDK、SDK等,可以在这里下载到:http://www.robotium.cn/download

1.Robotium 简单介绍

Robotium 是一个基于Android 应用程序的自动化黑盒测试工具。它简化了测试用例的编写,并且能够编写出功能强大,健壮性很强的黑盒测试用例。运用Robotium,测试人员能够编写测试用例,系统测试,验收测试方案等。同时Robotium 还能够跨越多个Android 的Activity,进行测试。

Robotium 对Activity,Dialog,Toast,Menu 都是支持的。

2.前期环境

装个JDK,并配置好环境变量。(这个详细的脑补吧)

下载下来的SDK打开一下SDK Manager,等装完就好。

再下载一个例子:ExampleTestProject 4.2

PS:本文是在配置完成后再写的,可能会遗漏哪些细节没有提,大家见谅哈~

3. 开始配置

(1)我使用的是下载的内容中adt-bundle-windows-x86-20130522文件夹中的Eclipse,直接双击打开eclipse.exe,找个路径作为workarea。

(2)File->Import…  选择Android下的Existing Android Code into Workspace,然后点击Next。

robot001

(3)找到刚刚下载的例子报,解压后将NotePad加载进去。

robot002

(4)就能在左边的Package Explorer中看到了。

robot003

(5)点击红框处,新建一个Android Test Project,点击Next。

robot004

(6)输入一个自己想要的名字,如myTest,点击next

(7)选择测试对象NotePad,点击Finish。

robot005

(8)在Package Explorer中中就能看到多出来的myTest。

(9)在myTest上右键New一个Folder,如命名为lib,并将下载的robotium-solo-4.2.jar拖入该文件夹(如1),并在build path中将jar包引入工程,会出现2处的内容。

robot006

(10)在myTest标题处,右键->New->Junit Test Case,选择Junit 4 Test,并选择需要测试的包,并给Test Case起个名字,点击Finish。

robot007

(11)打开AndroidManifest.xml,修改为如下:

robot008

(12)在CYDtests.java里写上个简单的脚本:

package com.example.android.notepad.test;

import android.test.ActivityInstrumentationTestCase2;

import com.example.android.notepad.NotesList;
import com.jayway.android.robotium.solo.Solo;

public class NotePadTest extends ActivityInstrumentationTestCase2
{
	private Solo solo;//声明Solo
	public NotePadTest()//构造方法
	{
		super(NotesList.class);

	}

	@Override
	public void setUp() throws Exception
	{
		solo = new Solo(getInstrumentation(), getActivity());
	}

	@Override
	public void tearDown() throws Exception
	{
		solo.finishOpenedActivities();
	}

	public void testAddNote() throws Exception
	{
		//点击add note按钮
		solo.clickOnMenuItem("Add note");
		//比对结果
		solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor");
		//在第一个TextEdit控件上输入内容
		solo.enterText(0, "Note 1");
		//返回上个界面
		solo.goBack();
		//点击菜单中的Add note
		solo.clickOnMenuItem("Add note");
		//在第一个EditText中输入内容
		solo.enterText(0, "Note 2");
		//返回NotesList activity
		solo.goBackToActivity("NotesList");
		//截屏
		solo.takeScreenshot();
		boolean expected = true;
		boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2");
		assertEquals("Note 1 and/or Note 2 are not found", expected, actual);

	}

}

(13)运行脚本:

robot009

(14)查看运行结果:

robot010

常见问题:

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

这个问题我试过几个设置方法,我这边只有一种是真的解决了这个问题:

打开Project->Properties

Order and Export选项卡,勾上robotium这项,并UP到顶端,确定后再运行,就搞定了。

robot011

8 thoughts on “【Robotium】环境搭建简单说明

  1. Test failed to run to completion. Reason: ‘Instrumentation run failed due to ‘Process crashed.”. Check device logcat for details
    求解决呀。测试不会用啊

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据