您的位置:首页 > 其它

Robotium环境搭建与新手入门教程

2014-10-22 09:36 591 查看


Robotium环境搭建与新手入门教程

2014-04-15 11:43 575人阅读 评论(0) 收藏 举报

目录(?)[+]

准备工具: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文件,修改如下



点击查看大图

1

[java] view
plaincopy

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



点击查看大图

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



点击查看大图

12
3
4
5
6
7
8
9
10
1112
13
14
15
16
17
18
19
20
2122
23
24
25
26
27
28
29
30
3132
33
34
35
36
37
38
39
40
4142
43
44
45
46
47
48
49
50
5152
53

[java] view
plaincopy

<span style="color:#000000; font-weight:bold">package</span> <span style="color:#006699">com.example.android.notepad.test</span><span style="color:#339933">;</span>

<span style="color:#000000; font-weight:bold">import</span> <span style="color:#006699">android.test.ActivityInstrumentationTestCase2</span><span style="color:#339933">;</span>

<span style="color:#000000; font-weight:bold">import</span> <span style="color:#006699">com.example.android.notepad.NotesList</span><span style="color:#339933">;</span>

<span style="color:#000000; font-weight:bold">import</span> <span style="color:#006699">com.jayway.android.robotium.solo.Solo</span><span style="color:#339933">;</span>

<span style="color:#000000; font-weight:bold">public</span> <span style="color:#000000; font-weight:bold">class</span> NotePadTest <span style="color:#000000; font-weight:bold">extends</span> ActivityInstrumentationTestCase2

<span style="color:#009900">{</span>

<span style="color:#000000; font-weight:bold">private</span> Solo solo<span style="color:#339933">;</span><span style="color:#666666; font-style:italic">//声明Solo</span>

<span style="color:#000000; font-weight:bold">public</span> NotePadTest<span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#666666; font-style:italic">//构造方法</span>

<span style="color:#009900">{</span>

<span style="color:#000000; font-weight:bold">super</span><span style="color:#009900">(</span>NotesList.<span style="color:#000000; font-weight:bold">class</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#009900">}</span>

@Override

<span style="color:#000000; font-weight:bold">public</span> <span style="color:#000066; font-weight:bold">void</span> setUp<span style="color:#009900">(</span><span style="color:#009900">)</span> <span style="color:#000000; font-weight:bold">throws</span> <span style="color:#003399">Exception</span>

<span style="color:#009900">{</span>

solo <span style="color:#339933">=</span> <span style="color:#000000; font-weight:bold">new</span> Solo<span style="color:#009900">(</span>getInstrumentation<span style="color:#009900">(</span><span style="color:#009900">)</span>, getActivity<span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#009900">}</span>

@Override

<span style="color:#000000; font-weight:bold">public</span> <span style="color:#000066; font-weight:bold">void</span> tearDown<span style="color:#009900">(</span><span style="color:#009900">)</span> <span style="color:#000000; font-weight:bold">throws</span> <span style="color:#003399">Exception</span>

<span style="color:#009900">{</span>

solo.<span style="color:#006633">finishOpenedActivities</span><span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#009900">}</span>

<span style="color:#000000; font-weight:bold">public</span> <span style="color:#000066; font-weight:bold">void</span> testAddNote<span style="color:#009900">(</span><span style="color:#009900">)</span> <span style="color:#000000; font-weight:bold">throws</span> <span style="color:#003399">Exception</span>

<span style="color:#009900">{</span>

<span style="color:#666666; font-style:italic">//点击add note按钮</span>

solo.<span style="color:#006633">clickOnMenuItem</span><span style="color:#009900">(</span><span style="color:#0000ff">"Add note"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//比对结果</span>

solo.<span style="color:#006633">assertCurrentActivity</span><span style="color:#009900">(</span><span style="color:#0000ff">"Expected NoteEditor activity"</span>, <span style="color:#0000ff">"NoteEditor"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//在第一个TextEdit控件上输入内容</span>

solo.<span style="color:#006633">enterText</span><span style="color:#009900">(</span><span style="color:#cc66cc">0</span>, <span style="color:#0000ff">"Note 1"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//返回上个界面</span>

solo.<span style="color:#006633">goBack</span><span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//点击菜单中的Add note</span>

solo.<span style="color:#006633">clickOnMenuItem</span><span style="color:#009900">(</span><span style="color:#0000ff">"Add note"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//在第一个EditText中输入内容</span>

solo.<span style="color:#006633">enterText</span><span style="color:#009900">(</span><span style="color:#cc66cc">0</span>, <span style="color:#0000ff">"Note 2"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//返回NotesList activity</span>

solo.<span style="color:#006633">goBackToActivity</span><span style="color:#009900">(</span><span style="color:#0000ff">"NotesList"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#666666; font-style:italic">//截屏</span>

solo.<span style="color:#006633">takeScreenshot</span><span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#000066; font-weight:bold">boolean</span> expected <span style="color:#339933">=</span> <span style="color:#000066; font-weight:bold">true</span><span style="color:#339933">;</span>

<span style="color:#000066; font-weight:bold">boolean</span> actual <span style="color:#339933">=</span> solo.<span style="color:#006633">searchText</span><span style="color:#009900">(</span><span style="color:#0000ff">"Note 1"</span><span style="color:#009900">)</span> <span style="color:#339933">&</span>amp<span style="color:#339933">;&</span>amp<span style="color:#339933">;</span> solo.<span style="color:#006633">searchText</span><span style="color:#009900">(</span><span style="color:#0000ff">"Note 2"</span><span style="color:#009900">)</span><span style="color:#339933">;</span>

assertEquals<span style="color:#009900">(</span><span style="color:#0000ff">"Note 1 and/or Note 2 are not found"</span>, expected, actual<span style="color:#009900">)</span><span style="color:#339933">;</span>

<span style="color:#009900">}</span>

<span style="color:#009900">}</span>

编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test



点击查看大图

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



点击查看大图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: