내 응용 프로그램에 대한 테스트 사례를 작성하고 있지만 사소한 문제가 발생했습니다. 많은 테스트 케이스에서 뷰에 모든 데이터를로드하고 화면에 표시하기 위해 호출이 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()));
}
보기가 나타날 때까지 기다립니다 수면에 대한 대안이 있는가 중 하나의 예입니다? 아니면 거기에 SystemClock.sleep
전화를 줄이기 위해 추가 할 수있는 방법이나 기능이 있습니까?
많은 감사합니다 :)