原链接:http://www.robotium.cn/archives/210
java基础知识,如基本的数据结构、语法结构、类、继承等
对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序
熟悉Eclipse IDE使用方法
有足够的耐心与探索精神,遇到问题可以熟练的Google
安装jdk,配置环境变量,如果不会请自行Google
下载安装Android SDK,并更新
下载Eclipse,并安装ADT插件,集成Android SDK
-
下载Robotium官方例子以及最新的JAR包
打开Eclipse导入被测试工程
点击查看大图
创建测试工程:选择Android Test Project,并点击下一步
点击查看大图
输入工程名,并点击下一步
点击查看大图
选择被测工程NotePad,并点击完成
点击查看大图
在测试工程中新建lib文件夹
点击查看大图
将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程
点击查看大图
打开测试工程中的manifest.xml文件,修改如下
点击查看大图
-
新建junit test case,选择junit4,并输入类名,点击完成
点击查看大图
打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图
点击查看大图
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);}}
|
编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test
点击查看大图
Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
点击查看大图
一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们
1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo
解决方法:如图操作后再clean工程
转载于:https://blog.51cto.com/1129254/1228681