简单介绍如何使用robotium进行自动化测试

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文件》)

时间: 2024-10-14 07:26:01

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

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

在做性能测试中,我认为技术可以说是武功心法,工具则是一把利剑,有一把好的利剑可以帮助自己更好的完成性能测试工作.在这里简单介绍一下LoadRunner,带大家一起来认识一下这把尚方宝剑. 一.性能测试的概念: 1.性能测试:模拟真实的生产环境,以各种不同的压力(模拟大量用户)去测试被测系统.去"攻击"测试系统.同时记录下被测系统中服务器的各种重要资源情况,包括cpu.内存.磁盘和网络等资源. 2.性能测试时首先看性能需求,如果没有需求,这时要根据与客户交流.被测系统的相关资料.以及性能

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通

javascript的return语句简单介绍

javascript的return语句简单介绍:return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,有个清晰的把握是非常有必要的.下面就结合实例简单介绍一下return语句的作用.一.用来返回控制和函数结果:通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数.语法格式: return 表达式 代码实例如下: function add(){

Object-c集合的简单介绍

一.简单介绍 NSArray/NSMutableArray NSSet/NSMutableSet NSDictionary/NSMutableDictionary NSArray.NSSet.NSDictionary是不可变的,创建的时候初始化 NSMutableArray.NSMutableSet.NSMutableDictionary是可变的 二.使用介绍 NSArray是有序的数组 NSMutableArray *myArray=[[NSMutableArray alloc] init];

plsql的环境与介绍:环境的搭建和plsql的简单介绍

PLSQL编程 1.环境的搭建 (1)创建一个存储表空间 SQL> conn /as sysdbaConnected. SQL> create tablespace plsql datafile '/u01/oracle/oradata/ORCL/plsql01.dbf' size 1G; Tablespace created. (2)创建PLSQL用户SQL> create user plsql identified by plsql default tablespace plsql;

CSS之box-sizing的用处简单介绍

前几天才发现有 box-sizing 这么个样式属性,研究了一番感觉很有意思, 通过指定容器的盒子模型类型,达到不同的展示效果 例如:当一个容器宽度定义为 width:100%;  之后,如果再增加 padding 或者 border 则会溢出父容器,是向外扩张的 如果使用该样式,指定为 box-sizing: border-box; 则 padding 和 border 就不会再溢出,而是向内收缩的,这个效果感觉非常实用, 特别是 input 和 textarea 等 现在设置 100% 再直

【玩转微信公众平台之七】 PHP语法简单介绍

经过多篇的努力,我们终于成为了微信公众平台的开发者.但是别高兴的太早,就跟修真小说一样:修炼多年武破虚空,飞升到仙界后本以为成为了天仙即可跳出三界外,不在五行中.可实际到了仙界才发现,成仙只是修行的第一步......没错,成为开发者也才只是第一步,因为现在你的微信公众平台还没有任何功能,说难听点就是小白,说好听点就是白马王子,说可爱点就是小白白,说黄色点就是洗白白,说...----------------要想在微信公众平台添加功能,那就需要写代码:既然说到写代码,那么肯定是要用php(如果用AS

Zookeeper简单介绍

转自:ZooKeeper学习第一期---Zookeeper简单介绍 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术--分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果.这时,有人可能会说这个简单,写一个调 度算法就轻松解决了.说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解.如果这些进程全部是跑在一台机上的

七、变量与常量的简单介绍

七.变量与常量的简单介绍 本文将介绍VB语言中的变量与常量. 基本概念 首先大家要明白变量和常量是很重要的东西,因为他们储存着程序运行中的各种数据.顾名思义,变量就是可以变的量,而常量就是不变的,这个概念和数学上的有点接近. 接下来我简单讲讲这两个重要的东西:计算机程序在不运行的时候,程序文件保存在硬盘上,当用户运行程序之后,系统就会把程序文件装进计算机的内存里面,无论在硬盘中还是内存中,程序数据都是以二进制的形式保存着的.当程序在运行的时候,可以把计算机的内存理解为一个超级大的棋盘,每个格子都