robotium:tearDown中使用solo.finishOpenedActivities()会导致执行测试用例crash问题

原来的写法

protected void tearDown(){
solo.finishOpenedActivities();
}



修改后

//用例总数

private static final int NUMBER_TOTAL_CASES = 2;

执行用例数
private static int run = 0;

//销毁
@Override
public void tearDown() throws Exception {
run += countTestCases();
if (run >= NUMBER_TOTAL_CASES) {
solo.finishOpenedActivities();
}
}


继续讨论这个问题

我经历了以下的几个验证

1、首先替换robotium版本,换成5.6.0版本,没有解决

2、执行用例时不使用solo.finishOpenedActivities();

3、下载robotium官方测试工程运行在本机上,排除当前系统版本

最后发现官方测试工程是可以正常运行的,但是我的用例确执行不了。我得出结论就是可能是我们的app有问题,杀死了app的进程,导致再次启动不成功。

找到相关开发,经常讨论,开发找到了入口的Activity,发现确实是有一个System.exit(0);方法来完全退出程序。删除该方法后,运行正常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值