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);方法来完全退出程序。删除该方法后,运行正常。
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);方法来完全退出程序。删除该方法后,运行正常。
相关文章推荐
- 对基于JUnit和Ant的测试用例执行过程使用Kieker(AspectJ)进行监控的方法
- Robotium执行过程中常见crashed问题1:应用不完全关闭导致再次打开应用时crash
- 【selenium】python+selenium+unittest,关于每次执行完一个测试用例都关闭浏览器等时间较长的问题之解决方案
- 使用Jmeter对Mysql进行压力测试无法执行多条sql语句问题
- Ant+JUnit+Cobertura执行测试用例时,应注意的问题(以Apache POI为例)
- 使用testng+xml编写、执行自动化测试用例
- 使用testsuit执行测试用例,选择特定用例执行多次的方法(appium+python)
- parasoft Jtest 使用教程:生成、执行和扩展Junit测试用例
- Junit框架使用(3)--按照顺序执行测试用例
- Parasoft C++test使用教程:执行测试用例(下)
- 使用AspectJ监控测试用例执行,无法产生监控数据的一种解决方案
- Robotium测试用例执行顺序及批处理方式
- 使用robotium无源码APK测试碰到的问题
- Parasoft C++test使用教程:执行测试用例(上)
- 使用Word写测试用例遇到页码从第三页开始问题
- appium+python+windows执行测试用例,并使用HTMLTestRunner输出测试报告
- Parasoft C++test使用教程:执行测试用例(下)
- parasoft Jtest 使用教程:生成、执行和扩展Junit测试用例
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- 使用maven-shade-plugin构建可执行jar 解决junit4测试问题 maven项目