您的位置:首页 > 运维架构

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

2017-05-02 14:14 281 查看
原来的写法

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);方法来完全退出程序。删除该方法后,运行正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐