编写android自动化测试用例过程中我们经常遇到这样一个问题,当只存在一条case的时候执行起来很正常但是一旦有多条case一起执行时可能会在执行完第一条case后阻塞,导致后面的无法正常执行。问题在于第一条case执行完后没有销毁全部的Activity,众所周知每次case执行完后都会执行tearDown()方法,所以一般情况下只需要在tearDown()中调用Solo对象的finishOpenedActivities()方法即可;
1 2 3 4 5 6 7 8 9 10 11 |
@Override public void tearDown() throws Exception { //tearDown() is run after a test case has finished. try { solo.finalize(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } solo.finishOpenedActivities(); //销毁所有activity } |
原文转自:http://www.robotium.cn/archives/273#comment-70