我正在运行一项从一个活动到下一个活动的Espresso测试:
// This button starts a new activity
onView(withId(R.id.next_button)).perform(click());
// This view is in the new activity
onView(withId(R.id.la_accept)).perform(click());
这是单击的按钮的作用:
Intent intent = // create an intent
startActivityForResult(intent
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), REQUEST_CODE);
运行测试时,到达我发布的第二行onView
时,测试立即失败,而不是等待该活动开始并且视图可用。我所阅读的有关Espresso测试的所有内容都表明,您所要做的就是调用onView
,它将等待UI处于空闲状态,但事实并非如此。
这与我使用的ActivityTestRule
有关系吗?我的用例可能有点不标准,因为测试规则开始了我的启动活动,然后我有一个空闲资源等待该活动完成并开始下一个活动。然后,一旦发生这种情况,就会开始测试并单击按钮。