1.      创建一个简单的工程()作为被测程序,运行后显示如下界面

2.      创建一个Test Project

1).     打开eclipse,选择File->New->Project…->Android Test Project,点击Next。

2).     在Test Project Name中输入测试工程的名称,如:HelloWorldTest。选择An existing Android Project,点击右边的Browse…按钮。

3).     选择被测工程,如之前创建的HelloWorldnp,点击OK按钮。

4).     会自动选择和输入Build Target和Properties,可以按照默认的,不用修改。

5).     一个新建的测试工程(HelloWorldTest)就创建好了,如下图:

3.      创建一个Test Case

1).     在HelloWorldTest->src->com.liliandroid.helloworld.test上,右击选择New->Class,创建一个Test Case。

2).     在Name中输入Test Case的名字,如:UITextTest。

3).     创建好的Test Case如下图:

4.      导入robotium.jar

1).     选择测试工程HelloWorldTest右击,选择Build Path->Configure Build Path…

2).     在打开的Properties for HelloWorldTest中点击Add External JARs…按钮。

3).     因为之前创建的工程的SDK是2.2的,所以选择robotium-solo-1.8.0.jar。

4).     点击OK按钮。

5.      修改Test Case

打开UITextTest.java,输入以下内容并保存:

package com.liliandroid.helloworld.test;

import android.test.ActivityInstrumentationTestCase2;

//此处导入的是被测试工程的activity

import com.liliandroid.helloworld.ActivityMain;

import com.jayway.android.robotium.solo.Solo;

publicclass UITextTestextends ActivityInstrumentationTestCase2<ActivityMain>{

//ActivityMain 为测试APK的启动activity

private Solo solo;

publicUITextTest() {

super("com.liliandroid.helloworld", ActivityMain.class);

}

publicvoid setUp()throws Exception {

super.setUp() ;

solo=newSolo(getInstrumentation(), getActivity());

}

publicvoidtestUI()throwsException {

booleanexpected =true;

booleanactual =solo.searchText("This") &&solo.searchText("is");

assertEquals("This and/or is are not found", expected, actual);

}

}

注:这个Case是测试运行了ActivityMain后的界面上是否有This和is这两个文字。

6.      运行测试程序

选择测试工程HelloWorldTest右击,选择Run As->AndroidJUnit Test运行测试程序

运行完后的测试结果界面(Pass)

运行完后的测试结果界面(Fail)

注:

1.      被测试的工程和测试的工程可以是不同的SDK,但是不知道有什么影响。

2.      这是在eclipse中进行测试的,也可以在模拟器或者手机上测试。如果需要直接在模拟器或者手机上测试,需要将测试包和被测试包改成相同的签名。(关于apk包的签名和重签名,请参考本人日志《重新签名APK文件》)

简单介绍如何使用robotium进行自动化测试的更多相关文章

  1. LoadRunner简单介绍----性能自动化测试工具

    在做性能测试中,我认为技术可以说是武功心法,工具则是一把利剑,有一把好的利剑可以帮助自己更好的完成性能测试工作.在这里简单介绍一下LoadRunner,带大家一起来认识一下这把尚方宝剑. 一.性能测试 ...

  2. 1、python简单介绍

    写在前面:曾经与java擦肩而过,现在懊悔很深,希望自己通过学习python,熟练掌握python,来弥补曾经的愚蠢.python简单介绍 python 1989年年底诞生,截止2017年,已经是IT ...

  3. Python+Selenium框架设计篇之-简单介绍unittest单元测试框架

    前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest.       unit ...

  4. 自动化工具之Appium工具简单介绍

    背景 自动化,性能测试,接口测试,开发平台等工作,到底测试的价值在哪里,其实价值来源不断充实与为大众服务,今天简单介绍ui小工具appium攻击. 简单介绍 Appium 是一个自动化测试开源工具,支 ...

  5. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  6. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  7. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  8. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  9. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

随机推荐

  1. Quartz(任务调度)- Cron

    参照:http://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html 工具:在线生成Cron 语法规则: Seconds Minutes ...

  2. jquery的animate动画

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. neutron openvswitch agent实现安全组的方法

    关于openstack安全组,采用一问一答的形式记录如下 1. 是加载在计算节点的还是网络节点的? 是加载在计算节点的 2. 是使用iptable规则实现的吗? M版的neutron实现了openvs ...

  4. C#委托与事件讲解(一)

    首先,我们还是先说说委托吧,从字面上理解,只要是中国人应该都知道这个意思,除非委托2个中文字不认识,举个例子,小明委托小张去买车票.     但是在我们的程序世界里,也是这么的简单吗?当然,什么是OO ...

  5. JSON及与XML比较

      JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - Decem ...

  6. 计算机网络课程优秀备考PPT之第二章物理层(二)

    为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 前期博客是, 计算机网络课程优秀备考PPT之第一章概述(一) 以上是<计算机网络> ...

  7. C#_传单小子

    2013/4/13日编写,已经许久不用了,今天又翻出来了,打算继续完善这个小软件,明年将发布出来提供给大家使用.

  8. 永久修改python默认的字符编码为utf-8

    这个修改说来简单,其实不同的系统,修改起来还真不一样.下面来罗列下3中情况 首先所有修改的动作都是要创建一个叫 sitecustomize.py的文件,为什么要创建这个文件呢,是因为python在启动 ...

  9. Google科学家前腾讯副总裁吴军将出席第二届万物互联创新大会

    当越来越多的科技产品注入互联网的基因,"万物互联"的模式悄然兴起.第二届万物互联创新大会(B12大会)将于2016-11-13日在杭州市余杭区隆重召开.Google科学家前腾讯副总 ...

  10. arttemplate函数摘录

    对artTemplate函数摘录,希望可以用到自己平时的工作中去 var toString = function (value, type) { if (typeof value !== 'strin ...