在編寫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