Robotium初学遇到的坑

      在学习Robotium框架的时候,遇到了不少的坑,这里大概描述一下遇到的问题,希望遇到相同问题的同学可以看看,如果可以解决的自行解决,不能解决的可以一同交流,当然还有其他补充可以提出来共享哈。

1.   Test run failed:Instrumentationrun failed due to “Process crashed”。

参考网址: http://www.robotium.cn/archives/915 虽然在tearDown()方法中加入了solo.finishOpenedActivities()方法,但是会出现莫名的Process crashed,这个网址上说的是:测试应用和被测应用在同一个进程中,在执行该方法之前,会调用Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK)。表明被测应用的Activity可能会先执行onStop()和onDestroy方法。开发可能加入了

System.exit(0);

Android.os.Process.killProcess(android.os.Process.myPid());

按照他网站上说的方式我试过,没有成功,不知道什么原因。然后只能让开发将上边的出错代码注释掉才成功了(当然被测应用不能加任何扰码)。

2. Instrumentationrun failed due to ‘java.lang.ClassNotFoundException’。

一般这种情况是android的sdk依赖库错误。可能是robotium的jar包和junit支持导入有问题。具体可以在你的测试项目下新建一个libs文件夹,将robotium-solo-5.2.1.jar拷贝到里边(每次打开你的工程的时候都会将libs下的jar包自动配置到你的环境中),还要在Properties->JavaBuild Path->Order and Export中选中这个jar包。还要在Properties->Java Build Path->Libraries->Add Libraray中选择junit(junit3、4都可以),然后可以重新clean你的工程。大家可以参看下边链接:

http://www.zhihu.com/question/26687635

http://www.51testing.com/html/65/n-848765.html

3. Testcase只执行一条,第二条就会卡住问题。

每次运行case都会执行setUp和tearDown方法,所以,会一次次拉取应用进行测试,为什么会在执行第二条卡住,通过添加Log分析是在tearDown方法中没有干掉所有activity才导致第二次没有拉取应用(至于为什么没有报错,暂时还没有搞清楚)。在tearDown方法中加入solo.finishOpenedActivities(); 

参考网址: http://bbs.csdn.net/topics/390100625?page=1http://www.robotium.cn/archives/273

4. 其他常见问题总结不再赘述,直接上网站查找: http://www.daotest.com/archives/388

大家也可以上这个网站查找更多框架学习资料:http://www.daotest.com/archives/category/robotium

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值