此处是UI Automator和Espresso测试。此测试可以向下滑动,然后等待一秒钟。一秒钟后,它检查列表中的项目计数:
@Test
fun swipeDown_randomLoadTraders_equalsLocaltemCount_UIAutomator() {
onView(withId(swipeRefreshLayout))
.perform((swipeDown()))
mockServer.enqueue(MockResponse()
.setResponseCode(200)
.setBody(FileUtil.getStringFromFile(context, randomTraderStubName.stubName)));
swipeRefreshLayout = uiDevice.findObject(UiSelector().resourceId("$applicationId:id/swipeRefreshLayout"))
swipeRefreshLayout.waitUntilGone(1000)
val localtemCount = recyclerView.adapter?.itemCount!!
onView(withId(tradersRecyclerView))
.check(matches(withItemCount(localtemCount)))
}
问题在于那个方法
swipeRefreshLayout.waitUntilGone(1000)
总是等待一秒钟。结果测试将总是在一秒钟后继续。但是当swipeRefreshLayout
消失时,我需要继续测试。可能是一秒钟,但是下次可能是3秒或25秒。
swipeRefreshLayout
消失时(没有超时),是否可以(通过UI Automator)
?