第二章 环境搭建

 做任何程序开发之前的第一项工作就是搭建环境,同样在开始Robotium自动化测试之前,搭建相应的测试环境也是首要任务。

2.1 Android开发环境搭建

由于Robotium是基于Android的自动化测试框架,首先要搭建Android开发环境。

2.1.1 JDK安装

如果你还没有安装JDK的话,可以去网上下载,接下来的工作就是根据安装提示一步一步走。然后设置相应的环境变量,设置环境变量步骤如下:

1)我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

JAVA_HOME值为: D:\ProgramFiles\Java\jdk1.6.0_18(你安装JDK的目录

CLASSPATH为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;

Path: 在开始追加 %JAVA_HOME%\bin;

NOTE前面设置环境变量对搭建Android开发环境不是必须的,可以跳过。

2)安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。出现如图2.1.1所示表示安装成功了:                                                                                                                                   

 

图2.1.1、验证JDK安装是否成功

2.1.2 Eclipse安装

Eclipse是一个开发的利器,关于这个开发工具,我们就不多说了,如果你没有安装,请从网上下载对应你操作系统位数的,最新版本的Eclipse,解压即可使用。当然也有已经集成了ADT版本的Eclipse,这样你就可以省略下面的ADT的安装步骤了。

2.1.3 Android SDK安装

Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。

·  运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force https://..."这项,再点击Available Packages

·  选择希望安装的SDK及其文档或者其它包,点击Installation SelectedAccept AllInstall Accepted,开始下载安装所选包

·  在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)。

 确定后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。运行 android –h 如果有类似图2.1.3所示的输出,表明安装成功:

 

图2.1.3验证Android SDK是否安装成功

2.1.4 ADT安装

打开 Eclipse IDE,进入菜单中的 "Help" -> "Install New Software"

·  点击Add...按钮,弹出对话框要求输入NameLocationName自己随便取,Location输入http://dl-ssl.google.com/android/eclipse。如图2.1.4.1所示:

2.1.4.1 安装ADT

·  确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMSAndroid Development Tool,勾选他们。如图2.1.4.2所示:

                                                                     图2.1.4.2添加Developer Tools

·  然后就是按提示一步一步next

完成之后:

·  选择Window >Preferences...

·  在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为: D:\AndroidDevelop\android-sdk-windows

·  点击ApplyOK。配置完成。

2.1.5 创建AVD

为使Android应用程序可以在模拟器上运行,必须创建AVD

1)在Eclipse中。选择Windows > Android SDK and AVD Manager

2)点击左侧面板的Virtual Devices,再右侧点击New

3)填入Name,选择TargetAPISD Card大小任意,Skin随便选,Hardware目前保持默认值。

4)点击Create AVD即可完成创建AVD

注意:如果你点击左侧面板的Virtual Devices,再右侧点击New ,而target下拉列表没有可选项时,这时候你:

·          点击左侧面板的AvailablePackages,在右侧勾选https://dl-ssl.google.com/android/repository/repository.xml,如图2.1.5所示:

图2.1.5添加虚拟设备

·       然后点击Install Selected按钮,接下来就是按提示做就行了

要做这两步,原因是在1.3Android SDK安装中没有安装一些必要的可用包(Available Packages)。

2.2 Robotium的使用

   下面我们以(http://www.robotium.cn/archives/210)上的一个例子讲解一下在有源码的情况下,如何使用Robotium进行测试。这个不是我们的重点,我们后面重点讲解没有源码,只有Apk包的情况下的自动化测试用例编写。

(1)下载Robotium官方例子http://code.google.com/p/robotium/downloads/list/ExampleTestProject_v2.3.zip以及最新的JAR包(http://code.google.com/p/robotium/downloads/list

(2)打开Eclipse导入被测试工程,如图2.2.1所示

图2.2.1 导入被测试的功能

(3)创建测试工程:选择Android Test Project,并点击下一步,然后输入工程名NotePadTest,并点击下一步。

 

2.2.2 创建测试工程

(4)选择被测工程NotePad,并点击完成,如图2.2.3所示:

2.2.3 选择被测工程

 

(5)在测试工程中新建lib文件夹,并将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程。如图2.2.4所示:

图2.2.4 将Robotium包添加到工程中

6)打开测试工程中的manifest.xml文件,修改其中的:

  <instrumentation

        android:name="test"

        android:targetPackage="com.example.test"/>

指定要被测试文件的name和package,如图2.2.5所示:

图2.2.5 修改manifest.xml

同时还要注意一点儿,在这个配置文件中有如下的结点:

<uses-sdk android:targetSdkVersion="17"android:minSdkVersion="14" android:maxSdkVersion="17"/>

这个上面写的版本号要和你运行测试用例的机器版本号相同,或是大于测试机的版本号,否则会报错。

(7)创建测试用例

A,新建junit test case,选择junit4,并输入类名NotePadTest,点击完成,如图2.2.6所示:

图2.2.6 创建测试用例

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

图2.2.7 测试类结构

测试用例代码如下:   

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	 
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	}


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

 

图2.2.8 运行测试用例

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

 

图2.2.9 robotium运行结果

一个简单的测试就结束了,这个测试用例是官方提供的类似于HelloWorld的测试用例,我们不妨在环境配置这一章节讲解一下。如果你不太懂,没有关系,因为这种方法不常用。具体的如何对只有安装包Apk的测试才是重要,我们后面会详细讲解。

2.3 本章小结

   本章我们讲述了Robotium开发环境的搭建,并且讲解了一下Robotium官方提供的一个基于源码的记事本测试用例。可能大家刚刚接触到这个测试框架,没有看明白这个测试用例,不过没有关系,就当先了解一下结构嘛,后面的章节我们会详细讲解的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值