我正在使用Espresso为我的Android应用程序编写一些测试。
我可以使用onView()获取对视图的引用,然后检查它们并运行操作。
从后台任务检索数据时出现问题。 espresso等到任务完成后我才截取屏幕截图。不幸的是,活动尚未将数据绘制到屏幕上。因此,在我想要的实际屏幕之前,我得到一瞬间的屏幕截图。
我怎样才能解决这个问题?
答案 0 :(得分:-1)
根据具体情况,其中一项应该有效。
在拍摄截图之前,您可以断言检查视图是否显示:
onView(withId(R.id.id_of_view_to_be_screenshoted)).check(ViewAssertions.matches(isDisplayed()));
另外,你可以这样做(根据@ValeraZakharov的想法):
onView(withId(R.id.id_of_view_to_be_screenshoted)).perform(new ViewAction() {
......
public void perform(UiController uiController, View view) {
uiController.loopMainThreadUntilIdle();
}
});