我正在爲我的應用程序編寫測試用例,但是遇到了一些小問題。我的許多測試用例中都有SystemClock.Sleep
調用,以便視圖加載所有數據並將其顯示在屏幕上。然而,睡眠的次數越來越多,導致這些測試的時間更長。Andriod Espresso中SystemClock.sleep的替代方案
下面是這些測試
@Test
public void testSearch() {
ExtensionForExpresso.signUp();
SystemClock.sleep(17000);
onView(withId(R.id.menu_offer_search)).check(matches(isDisplayed())).perform(click());
SystemClock.sleep(5000);
onView(withId(R.id.menu_search)).check(matches(isDisplayed())).perform(typeText("Pizza"));
SystemClock.sleep(17000);
onView(withId(R.id.searchSectionSeeAllButton)).check(matches(isDisplayed())).perform(click());
SystemClock.sleep(15000);
onView(withId(R.id.searchResultsRecyclerView)).check(matches(isDisplayed())).perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
}
是否有睡眠的替代方案,將等待視圖出現的一個例子嗎?或者我可以添加哪些方法或功能來減少撥打電話的數量?
非常感謝:)