【问题标题】:Wait For View to be Drawn - Espresso等待视图被绘制 - Espresso
【发布时间】:2014-07-03 12:21:46
【问题描述】:

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

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

我从后台任务中检索数据时出现问题。 espresso 等到任务完成,然后我截取屏幕截图。不幸的是,该活动尚未将带有数据的视图绘制到屏幕上。所以我在我想要的实际屏幕之前得到了一个瞬间的屏幕截图。

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

【问题讨论】:

  • 你能提供一些你的代码吗?

标签: android android-espresso


【解决方案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();
        }
    });

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多