一‘、创建一个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/Soloat 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.Soloat 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

更多相关文章

  1. [置顶] Android(安卓)Studio 2.1 和 Unity3D 5.3.4 交互
  2. [置顶] android性能测试工具之dumpstate
  3. Flash/Flex 移动端开发 之 现状
  4. andorid 自动化测试初探
  5. android 用户界面事件
  6. 安卓安全——读书笔记
  7. Android集成测试
  8. Android动态创建一个个组件
  9. 在Eclipse中 每次右击工程名 选择 properties 后点击 Android后

随机推荐

  1. Mysql5.7下的三种循环
  2. Mysql存储过程、索引
  3. MySQL查询时有时候需要某条记录置顶或者
  4. 阿里云服务器CentOS7.3上通过Docker安装M
  5. hibernate(*.hbm.xml)中新添加的字段被标记
  6. 浅谈:如何用java写一个简单的基于MySQL的J
  7. flash如何自动连接mysql数据库
  8. Windows下重置MySQL密码【MYSQL】
  9. MySQL5.7完全卸载
  10. MySQL数据导入到infobright中