我想确保当用户按下“关闭”按钮时,他不会看到正在测试的活动而是“主页”屏幕。
使用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 :(得分:0)
您可以做的是检查焦点是否仍在测试中。如果焦点,solo.getCurrentActivity()。hasWindowFocus()为false,则启动另一个现在具有焦点的活动。