原来的写法
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);方法来完全退出程序。删除该方法后,运行正常。