Android开源测试框架学习

分享到:

 

近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料。

 

Android测试大致分三大块:

  1. 代码层测试
  2. 用户操作模拟,功能测试
  3. 安装部署及稳定性测试

代码层测试

对于一般java代码,采用传统的Junit测试,开发人员通常会编写重要接口和函数的白盒测试代码,不做过多讨论。

但因Android的特殊运行机制(Dalvik虚拟机),其中存在Application、Activity、Service等特殊组件,而这些组件都涉及到生命周期管理的问题。

为了对这些组件进行测试,Google提供了一套针对性的测试框架,AndroidTestFramework

官方教程链接 http://developer.android.com/training/testing.html

官方api http://developer.android.com/reference/android/test/package-summary.html

其中最为常用的就是针对Activity的测试,即ActivityInstrumentationTestCase2<T>类。

继承该类后可通过getActivity()方法获取Activity的一个mock对象,从而实现各种界面元素的测试。代码如下

public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {
        LoginActivityTest mActivity;
        Button btnLogin;

        public LoginActivityTest(){
      super(LoginActivity.class);//必须实现super(testclass)
        }
    
    @Override
    protected void setUp() throws Exception {
        super.setUp();
        mActivity = getActivity();
                btnLogin = mActivity.findViewById(R.id.btnLogin);
    }

        public void testGetActivity(){
           assertNotNull("can't get LoginActivity" , mActivity);
           assertNotNull("can't get loginButton" , btnLogin);
        }
}
昵    称:
验证码: