2012-05-12 63 views
0

我想確保當用戶按下「關閉」按鈕時,他不會看到被測試的活動,而是一個「主屏幕」。如何自動測試活動堆棧的狀態?

使用Robotium我可以編寫例如

@Override 
protected void setUp() throws Exception { 
    solo = new Solo(getInstrumentation(),getActivity()); 
} 

public void testMainUseCase() throws InterruptedException { 
    solo.clickOnText("close"); 

    Log.w("CURRENT_ACT", solo.getCurrentActivity().getClass().toString()); 
} 

但在日誌中我得到那麼「MainActivity」(這是在測試活動),即使我可以在我的設備,該活動去了上看到。

在另一方面,使用Roboelectric我可以寫這樣一個片段:

@Test 
public void shouldStopWhenRejectButtonClicked() throws Exception {  
     activity.onCreate(null); 

     clickOn(activity.findViewById(R.id.close)); 
} 

但同樣,我不知道如何來檢查活動用戶看到的不再是被測試的活動。

回答

0

你可以做的是檢查焦點是否仍然在被測活動上。如果焦點,solo.getCurrentActivity()。hasWindowFocus()爲false,那麼另一個活動已經啓動,現在已經有了焦點。