Здесь UI Automator и Espresso test. Этот тест проведите пальцем вниз и подождите одну секунду. Через одну секунду он проверяет количество элементов в списке:
@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 секунд.
Возможно ли (с помощью UI Automator) подождать, пока swipeRefreshLayout
исчезнет (без таймаута)