Robotium环境搭建与新手入门教程
准备工具:Robotium资料下载
知识准备:
- java基础知识,如基本的数据结构、语法结构、类、继承等
- 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序
- 熟悉Eclipse IDE使用方法
- 有足够的耐心与探索精神,遇到问题可以熟练的Google
环境搭建
- 安装jdk,配置环境变量,如果不会请自行Google
- 下载安装Android SDK,并更新
- 下载Eclipse,并安装ADT插件,集成Android SDK
Robotium新手入门
- 下载Robotium官方例子以及最新的JAR包
- 打开Eclipse导入被测试工程
点击查看大图
- 创建测试工程:选择Android Test Project,并点击下一步
点击查看大图
- 输入工程名,并点击下一步
点击查看大图
- 选择被测工程NotePad,并点击完成
点击查看大图
- 在测试工程中新建lib文件夹
点击查看大图
- 将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程
点击查看大图
- 打开测试工程中的manifest.xml文件,修改如下
点击查看大图
- 新建junit test case,选择junit4,并输入类名,点击完成
点击查看大图
- 打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图
点击查看大图
01 |
package com.example.android.notepad.test;
|
02 |
03 |
import android.test.ActivityInstrumentationTestCase2;
|
04 |
05 |
import com.example.android.notepad.NotesList;
|
06 |
import com.jayway.android.robotium.solo.Solo;
|
07 |
08 |
public class NotePadTest extends ActivityInstrumentationTestCase2
|
09 |
{ |
10 |
private Solo solo; //声明Solo
|
11 |
public NotePadTest() //构造方法
|
12 |
{
|
13 |
super (NotesList. class );
|
14 |
15 |
}
|
16 |
17 |
@Override
|
18 |
public void setUp() throws Exception
|
19 |
{
|
20 |
solo = new Solo(getInstrumentation(), getActivity());
|
21 |
}
|
22 |
23 |
@Override
|
24 |
public void tearDown() throws Exception
|
25 |
{
|
26 |
solo.finishOpenedActivities();
|
27 |
}
|
28 |
29 |
public void testAddNote() throws Exception
|
30 |
{
|
31 |
//点击add note按钮
|
32 |
solo.clickOnMenuItem( "Add note" );
|
33 |
//比对结果
|
34 |
solo.assertCurrentActivity( "Expected NoteEditor activity" , "NoteEditor" );
|
35 |
//在第一个TextEdit控件上输入内容
|
36 |
solo.enterText( 0 , "Note 1" );
|
37 |
//返回上个界面
|
38 |
solo.goBack();
|
39 |
//点击菜单中的Add note
|
40 |
solo.clickOnMenuItem( "Add note" );
|
41 |
//在第一个EditText中输入内容
|
42 |
solo.enterText( 0 , "Note 2" );
|
43 |
//返回NotesList activity
|
44 |
solo.goBackToActivity( "NotesList" );
|
45 |
//截屏
|
46 |
solo.takeScreenshot();
|
47 |
boolean expected = true ;
|
48 |
boolean actual = solo.searchText( "Note 1" ) ; solo.searchText( "Note 2" );
|
49 |
assertEquals( "Note 1 and/or Note 2 are not found" , expected, actual);
|
50 |
51 |
}
|
52 |
53 |
} |
- 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test
点击查看大图
- Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
点击查看大图
- 一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们