等待视图被绘制 - 浓咖啡

时间:2014-07-03 12:21:46

标签: android android-espresso

我正在使用Espresso为我的Android应用程序编写一些测试。

我可以使用onView()获取对视图的引用,然后检查它们并运行操作。

从后台任务检索数据时出现问题。 espresso等到任务完成后我才截取屏幕截图。不幸的是,活动尚未将数据绘制到屏幕上。因此,在我想要的实际屏幕之前,我得到一瞬间的屏幕截图。

我怎样才能解决这个问题?

1 个答案:

答案 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();
        }
    });