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));
}

但同样,我不知道如何检查用户看到的活动是否不再是被测活动。

4

1 回答 1

0

您可以做的是检查焦点是否仍然在被测活动上。如果焦点,solo.getCurrentActivity().hasWindowFocus() 是假的,那么另一个活动已经启动,现在有焦点。

于 2012-05-14T15:40:11.800 回答