robotium的使用方法(一)

9 篇文章 0 订阅
8 篇文章 0 订阅

一‘、创建一个android工程

该步骤只适合初学者,有一定基础的同学可以跳过该步骤,直接进入步骤二。

1.new project

2.选择Android project进入下面的截图

3.输入项目名称点击next进入下图

4.点击下一步,在出现的界面里面输入包名

5.点击finish就完成了一个简单的android工程。工程的目录结构如下

6.运行界面

二’、Robotium的使用

1.下载robotium的jar文件

在下面的地址下载所需要的jar文件

http://code.google.com/p/robotium/downloads/list

我下载的是4.0的jar包

2.创建一个测试工程

2.选择Android Test Project,选择An existing project to test在下面的工程列表里面选择要测试的工程。

3.输入包名,选择sdk版本后点击finish,完成工程的创建。测试工程的目录结构如下

4.创建一个测试类,创建这个类之后需要在工程中导入我们之前下载的robotium的jar文件到工程中。

package com.android.hello.test;

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

import android.test.ActivityInstrumentationTestCase2;

public class TestScript  extends ActivityInstrumentationTestCase2<HelloActivity>{
	private Solo mSolo;
	public TestScript() {
		super("com.android.hello", HelloActivity.class);
		// TODO Auto-generated constructor stub
	}

	public void setUp(){
		mSolo=new Solo(getInstrumentation(), getActivity());
	}
	
	public void testText(){
		boolean expected =true;
		System.out.println("mSolo============"+mSolo);
		boolean actual =mSolo.searchText("Hello") &&mSolo.searchText("World");
		assertEquals("The text  have not found", expected, actual);
	}
}

这个测试类的作用是检测主界面里面是否有Hello和World两个文本。

5、测试结果如下

三、使用过程中常见的错误

1.提示java.lang.NoClassDefFoundError: com/jayway/android/robotium/solo/Solo

具体的代码如下

java.lang.NoClassDefFoundError: com/jayway/android/robotium/solo/Solo
at java.lang.Class.getDeclaredFields(Native Method)
at java.lang.Class.getDeclaredFields(Class.java:647)
at android.test.ActivityTestCase.scrubClass(ActivityTestCase.java:63)
at android.test.ActivityInstrumentationTestCase2.tearDown(ActivityInstrumentationTestCase2.java:172)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
Caused by: java.lang.ClassNotFoundException: com.jayway.android.robotium.solo.Solo
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
... 13 more

大意是没有找到Solo这个类。

解决方法

在HelloTest的工程文件上右键-------Properties---------Java Build Path-----Libraries删掉里面的Android Dependencies和robotium-solo-4.0.jar然后重新导入robotium-solo-4.0.jar。

Order And  Export界面选择select All---OK。

点击工具栏里面的project选项------Clean工程即可。

如下图


 

 

 2.报空指针提示mSolo为空

这里面需要检查setUp这个方法名的大小写一定要正确,否则会不执行该方法里面的代码的。

本文介绍的是如何使用robotium进行白盒测试,后续的文章中将会介绍如何使用robotium进行黑盒测试。敬请关注。

参考文章:

http://blog.csdn.net/brucezhang0/article/details/7449551

http://code.google.com/p/robotium

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值