原链接:http://www.robotium.cn/archives/210

  • 准备工具:Robotium资料下载

  • 知识准备:

  1. java基础知识,如基本的数据结构、语法结构、类、继承等

  2. 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序

  3. 熟悉Eclipse IDE使用方法

  4. 有足够的耐心与探索精神,遇到问题可以熟练的Google

  • 环境搭建

  1. 安装jdk,配置环境变量,如果不会请自行Google

  2. 下载安装Android SDK,并更新

  3. 下载Eclipse,并安装ADT插件,集成Android SDK

  • Robotium新手入门

    1. 下载Robotium官方例子以及最新的JAR包

    2. 打开Eclipse导入被测试工程


      点击查看大图


    3. 创建测试工程:选择Android Test Project,并点击下一步


      点击查看大图


    4. 输入工程名,并点击下一步


      点击查看大图


    5. 选择被测工程NotePad,并点击完成


      点击查看大图


    6. 在测试工程中新建lib文件夹


      点击查看大图


    7. 将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程


      点击查看大图


    8. 打开测试工程中的manifest.xml文件,修改如下


      点击查看大图


1

    1. 新建junit test case,选择junit4,并输入类名,点击完成


      点击查看大图


    2. 打开新建的测试类,修改继承ActivityInstrumentationTestCase2,创建构造方法,并编写测试代码,具体如图


      点击查看大图


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
packagecom.example.android.notepad.test;importandroid.test.ActivityInstrumentationTestCase2;importcom.example.android.notepad.NotesList;importcom.jayway.android.robotium.solo.Solo;publicclass NotePadTest extends ActivityInstrumentationTestCase2
{private Solo solo;//声明Solopublic NotePadTest()//构造方法{super(NotesList.class);}
 
	@Override
	publicvoid setUp()throwsException{
		solo =new Solo(getInstrumentation(), getActivity());}
 
	@Override
	publicvoid tearDown()throwsException{
		solo.finishOpenedActivities();}publicvoid testAddNote()throwsException{//点击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);}}
  1. 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test


    点击查看大图


  2. Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果


    点击查看大图


  3. 一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们

1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

解决方法:如图操作后再clean工程