在开始Robotium自动化测试之前,搭建相应的测试环境是必须的。首先要搭建Android开发环境。具体如下:
1、环境搭建
1.1、JDK安装
如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:
1.
我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
2.
JAVA_HOME值为:
D:Program FilesJavajdk1.6.0_18(你安装JDK的目录)
3.
CLASSPATH值为:.;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%in;
4.
Path:
在开始追加
%JAVA_HOME%in;
5.
NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java
–version
查看JDK的版本信息。出现类似下面的画面表示安装成功了:
图1、验证JDK安装是否成功
1.2、Eclipse安装
如果你还么有Eclipse的话,可以去这里下载,下载如下图所示的Eclipse
IDE for Java Developers(92M)的win
32bit版:
图2、Eclipse下载
解压之后即可使用。
1.3、Android
SDK安装
在Android
Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。
·
运行SDK
Setup.exe,点击Available
Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force
https://..."这项,再点击Available
Packages
。
·
选择希望安装的SDK及其文档或者其它包,点击Installation
Selected、Accept
All、Install
Accepted,开始下载安装所选包
·
在用户变量中新建PATH值为:Android
SDK中的tools绝对路径(本机为D:AndroidDevelopandroid-sdk-windows ools)。
图3、设置Android
SDK的环境变量
“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行
android –h
如果有类似以下的输出,表明安装成功:
图4、验证Android
SDK是否安装成功
1.4、ADT安装
·
打开
Eclipse IDE,进入菜单中的
"Help" -> "Install New Software"
·
点击Add...按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入http://dl-ssl.google.com/android/eclipse。如下图所示:
·
确定返回后,在work
with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer
Tools,展开它会有Android
DDMS和Android
Development Tool,勾选他们。
如下图所示:
·
然后就是按提示一步一步next。
完成之后:
·
选择Window
> Preferences...
·
在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
D:AndroidDevelopandroid-sdk-windows
·
点击Apply、OK。配置完成。
1.5、创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD。
·
1、在Eclipse中。选择Windows
> Android SDK and AVD Manager
·
2、点击左侧面板的Virtual
Devices,再右侧点击New
·
3、填入Name,选择Target的API,SD
Card大小任意,Skin随便选,Hardware目前保持默认值
·
4、点击Create
AVD即可完成创建AVD
注意:如果你点击左侧面板的Virtual
Devices,再右侧点击New
,而target下拉列表没有可选项时,这时候你:
·
点击左侧面板的Available
Packages,在右侧勾选https://dl-ssl.google.com/android/repository/repository.xml,如下图所示:
·
然后点击Install
Selected按钮,接下来就是按提示做就行了
要做这两步,原因是在1.3、Android
SDK安装中没有安装一些必要的可用包(Available
Packages)。
(以上转自:
http://www.cnblogs.com/liufengming/archive/2013/02/02/2890283.html)
2,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文件,修改如下
3,创建测试用例
1.
新建junit test
case,选择junit4,并输入类名,点击完成
2.
打开新建的测试类,修改继承ActivityInstrumentationTestCase2,创建构造方法,并编写测试代码,具体如图
代码如下:
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 extendsActivityInstrumentationTestCase2
|
09
|
{
|
10
|
private Solo
solo;// 声明Solo
|
11
|
public NotePadTest()// 构造方法
|
12
|
{
|
13
|
super(NotesList.class);
|
14
|
|
17
|
@Override
|
18
|
public void setUp() throws Exception
|
19
|
{
|
20
|
solo
= new Solo(getInstrumentation(),
getActivity());
|
23
|
@Override
|
24
|
public void tearDown() throws Exception
|
25
|
{
|
26
|
solo.finishOpenedActivities();
|
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
|
|
3,编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android
junit Test
4,Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们
(以上内容转自:http://www.robotium.cn/archives/210)