一个基本的测试框架(robotium)详解

importorg.junit.Test;
importcom.jayway.android.robotium.solo.Solo;

importandroid.test.ActivityInstrumentationTestCase2;

public class TestCaseBascFrame extends ActivityInstrumentationTestCase2{

// /声明一个Solo对象,Solo实例封装了所有Robotium的可用方法

   private Solo solo;

// 注意以下两个静态常量字符串,都在APK报重新签名时得到

// * 第一个是要测试的包名,和刚刚在AndroidMainfest.xml里配置的包名一致  附图 1::
// * 第二是被测程序的入口类

// 示例包名和入口类名在此文最后的附注图2 中有标注

   private static final String TARGET_PACKAGE_ID = "Package name";

   private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "Main activity";

   // /声明一个Class类型的变量,用于ActivityInstrumentationTestCase2加载启动被测程序

   private static Class launcherActivityClass;

   // 声明一个标签用于日志的输出控制,便于调试

   final String TAG = "Test->N01GetFirstPageMessage";

// 静态加载auncherActivityClass也就是被测程序主类

   static{

      try{

        launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

      }catch(ClassNotFoundException e){

        throw new RuntimeException(e);

      }

   }

// /构造函数,传入TARGET_PACKAGE_ID,launcherActivityClass即可

   public TestCaseBascFrame(){

      super(TARGET_PACKAGE_ID, launcherActivityClass);

   }

   // 在测试用例初始时执行,在这里初始化了Solo实例

   public void setUp() throws Exception{

      solo = new Solo(getInstrumentation(),getActivity());

   }

   // /在测试用例执行完毕执行,在这里销毁了测试中建立的所有实例,清除垃圾

   public void tearDown() throws Exception{

      solo.finishOpenedActivities();

   }

// /测试用例的真正逻辑放在这里,个人建议函数以test开头

   @Test

   public void test() {

//    测试用例编写

      fail("Not yet implemented");

   }

}
附注图2 

附注:一个经过re-sign.jar签过名的sohu.apk,图的package name和main activity 需要记下:

            附图2:        

   附图1:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值