• Robotium环境搭建及有源码测试用例编写


    在开始Robotium自动化测试之前,搭建相应的测试环境是必须的。首先要搭建Android开发环境。具体如下:

    1、环境搭建

     

    1.1JDK安装

    如果你还没有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的版本信息。出现类似下面的画面表示安装成功了:

    Robotium环境搭建及有源码测试用例编写

    1、验证JDK安装是否成功

    1.2Eclipse安装

    如果你还么有Eclipse的话,可以去这里下载,下载如下图所示的Eclipse IDE for Java Developers92M)的win 32bit版:

    Robotium环境搭建及有源码测试用例编写


                        2Eclipse下载

    解压之后即可使用。

    1.3Android 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:AndroidDevelopandroid-sdk-windows ools)。



    3、设置Android SDK的环境变量

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

    Robotium环境搭建及有源码测试用例编写

              4、验证Android SDK是否安装成功

    1.4ADT安装

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

    ·   点击Add...按钮,弹出对话框要求输入NameLocationName自己随便取,Location输入http://dl-ssl.google.com/android/eclipse。如下图所示:Robotium环境搭建及有源码测试用例编写

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

    Robotium环境搭建及有源码测试用例编写
    ·   然后就是按提示一步一步next

    完成之后:

    ·   选择Window > Preferences...

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

    ·   点击ApplyOK。配置完成。

    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下拉列表没有可选项时,这时候你:

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

    Robotium环境搭建及有源码测试用例编写

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

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

    (以上转自:

    http://www.cnblogs.com/liufengming/archive/2013/02/02/2890283.html)

    2,Robotium新手入门

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

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

     

     

    Robotium环境搭建及有源码测试用例编写

     

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

     

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

     

    Robotium环境搭建及有源码测试用例编写

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

    Robotium环境搭建及有源码测试用例编写
    6.      在测试工程中新建lib文件夹

     

    Robotium环境搭建及有源码测试用例编写

     

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

     

    Robotium环境搭建及有源码测试用例编写

     

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

    Robotium环境搭建及有源码测试用例编写

     

    3,创建测试用例

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

    Robotium环境搭建及有源码测试用例编写

     

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

    Robotium环境搭建及有源码测试用例编写

     

    代码如下:

     

    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

    }

     

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

    Robotium环境搭建及有源码测试用例编写

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

    Robotium环境搭建及有源码测试用例编写

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

    (以上内容转自:http://www.robotium.cn/archives/210

    ----夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。
  • 相关阅读:
    mysql命令行操作 添加字段,修改字段
    编辑器phpstrom的快捷键修改
    echo json数据给ajax后, 需要加上exit,防止往下执行,带上其他数据,到时ajax失败
    多选出差同事id,拼接,去掉最后逗号
    引入的ajax中异步添加联系人
    .NET 4 实践
    使用dynamic和MEF实现轻量级的AOP组件 (3)
    使用dynamic和MEF实现轻量级的AOP组件 (2)
    使用dynamic 和MEF实现轻量级的 AOP 组件 (1)
    AOP-SheepAspect
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6520974.html
Copyright © 2020-2023  润新知