如果我们要对一个Activity界面上的一个按钮的点击事件进行单元测试,则可使用ActivityInstrumentationTestCase2类来进行测试。 
首先我们定义一个测试类:

public class TestOneActivity extends
ActivityInstrumentationTestCase2<OneActivity> {
public TestOneActivity() {
super("com.hc.bai", OneActivity.class);
}
}

其中,OneActivity代表被测试的Activity,TestOneActivity()为该测试类的构造函数,super有两个参数,第一个是包名,我这为“com.hc.bai”。如果在你要测试的Activity的onCreate函数中,需要接受来自启动该Activity的页面传来的参数,可以在测试类中摸你传值,在这我们可以重写测试类的getActivity()函数,如下:

@Override
public OneActivity getActivity() {
OneActivity a;
Intent i = new Intent();
Bundle b = new Bundle();
b.putString("name", "sss");
b.putString("id", "sss");
// a = launchActivityWithIntent(targetPackage, OneActivity.class,
// i);
a = launchActivity(targetPackage, OneActivity.class, b);
setActivity(a);
System.out.println("getActivity--------------------------");
return a;
}

通过在getActivity中执行launchActivityWithIntent或launchActivity,我们就可以将参数传递给被测试的Activity。在测试中,我们要对该界面上的一个Button进行测试,则我们还需要在Setup中定义该Button

private Button bt;
OneActivity one;
protected void setUp() throws Exception {
one = getActivity();
bt = (Button) one.findViewById(R.id.bt_test);
System.out.println("setup********************");
}

之后我们就可以完成我们的测试函数:

public void testOne() {
one.runOnUiThread(new Runnable() {
public void run() {
//Looper.getMainLooper();
bt.performClick();
}
}); getInstrumentation().waitForIdleSync();
。。。
}

可以看到,我们需要在runOnUiThread中调用bt.performClick()事件,如果直接调用该事件,则程序会出现异常,getInstrumentation().waitForIdleSync()这一句是同步等待应用程序被闲置,之后,我们责可以写类似于assertEquals、assertTrue等函数。

本文转自:http://lxfgrace.iteye.com/blog/1609759

Android 使用Instrumentation进行界面的单元测试的更多相关文章

  1. Android之如何使用JUnit进行单元测试

    转的:http://www.blogjava.net/qileilove/archive/2014/05/19/413824.html Android中如何使用JUnit进行单元测试 在我们日常开发a ...

  2. Android中如何使用JUnit进行单元测试 eclipse

    Android中如何使用JUnit进行单元测试 在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期. Andr ...

  3. Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开

    Android 在安装完成界面,点击打开应用程序.在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开. etong_123的专栏 - 博客频道 - CSDN.NET htt ...

  4. android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】

    zhezhelin android studio 新建项目 界面一直停在 [“building ‘ 项目名’ gradle project info”] 安装了android studio 之后,按照 ...

  5. 精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具

    在制作界面原型的时候,如果有现成的界面基础元素可以使用的话,设计师就可以非常快速的完成原型的制作,能够节省大量的时间和精力.在这篇文章, 我向大家分享45套非常有用的 UI 和 Wireframe 套 ...

  6. Android开发学习——SQLite数据库与单元测试

    SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper  public class Myopenhelper extends SQLiteOpenHelp ...

  7. android 学习随笔三(测试与单元测试框架)

    测试 1.按岗位: 黑盒测试:测试业务逻辑 白盒测试:测试逻辑方法 2.按测试粒度 方法测试 function 单元测试 unit 集成测试 integration 系统测试 system 3.按暴力 ...

  8. Android 开发笔记——对应用进行单元测试

    在实际开发中,开发android软件的过程需要不断地进行测试.而使用Junit测试框架,是正规Android开发的必用技术, 在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 第一 ...

  9. Android 手机卫士--导航界面3、4和功能列表界面跳转逻辑处理

    刚刚花了一点时间,将导航界面3.4的布局和相应的跳转逻辑写了一下: Setup3Activity代码如下: /** * Created by wuyudong on 2016/10/10. */ pu ...

随机推荐

  1. 【hadoop2.6.0】倒排索引遇到问题了

    想实现书上倒排索引的例子,但是我不会java想用C++写,如果用hadoop streaming 那么输入必须是标准输入的形式, 那么我怎么获得每个文件的文件名呢? 查了一下,还有一种方法叫做hado ...

  2. mapreduce程序编写(WordCount)

    折腾了半天.终于编写成功了第一个自己的mapreduce程序,并通过打jar包的方式运行起来了. 运行环境: windows 64bit eclipse 64bit jdk6.0 64bit 一.工程 ...

  3. 使用ajax()方法加载服务器数据

    使用ajax()方法加载服务器数据 使用ajax()方法是最底层.功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值,它的调用格式如下: jQuery.a ...

  4. [转]ubuntu server:开机自动登录

    原文链接: Ed29.com http://ed29.com/ubuntu%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95 ...

  5. 欧拉工程第70题:Totient permutation

    题目链接 和上面几题差不多的 Euler's Totient function, φ(n) [sometimes called the phi function]:小于等于n的数并且和n是互质的数的个 ...

  6. java:I/O 字节流和字符流

    字节流 InputStream和OutputStream的子类:FileInputStream 和 FileOutputStream 方法: int read(byte[] b,int off,int ...

  7. wxpython 中 用鼠标拖动控件 总结

    #encoding: utf-8 import wx import os import noname class Frame( noname.MyFrame1 ): def __init__(self ...

  8. python类似微信未读信息图片脚本

    其实就是实现一个效果,给一张图片,然后再右上角给出未读的信息数目,就像我们打开微信的时候,总是看到红点就忍不住想要点击去查看一样. 类似这种效果: 可以知道,图片是给定的,那么只要随机生成一个数字,然 ...

  9. Android Studio设置,鼠标放上去有提示

    设置如下: 1. 2. 勾选就可以了

  10. Android开发之Android Context,上下文(Activity Context, Application Context)

    转载:http://blog.csdn.net/lmj623565791/article/details/40481055 1.Context概念Context,相信不管是第一天开发Android,还 ...