"다운로드"버튼을 클릭하면 데이터 (음악/이미지 등)가 인터넷에서 다운로드되기 시작합니다. 다운로드가 끝나면 단추가 레이블 텍스트를 "열기"로 변경합니다. 그런 다음 "열기"버튼을 클릭하십시오. 내가 한 일은 다음과 같습니다.Espresso Idling Resource 사용 방법
onView(allOf(withId(R.id.button),withText("Download"))).check(matches(isClickable())).perform(click());
try {
Thread.sleep(delayedTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
onView(allOf(withId(R.id.button),withText("Open"))).check(matches(isClickable())).perform(click());
때로는 테스트가 통과하고, 때로는 그렇지 않습니다. 가끔 실패하는 이유는 "No views in hierarchy found matching: (with id: something:id/button and with text: is "Open").
입니다. 그리고 Espresso에서 Thread.sleep을 사용하는 것도 나쁜 습관입니다. 나는 Espresso's Idling Resource에 대해 읽었지만 나에게 의미가 없으며이 특별한 경우에 어떻게 적용 할 수 있는지 모른다.
ThreadPools의 경우 다음을 사용하십시오. http://luongbui.com/thread-pool-idlingresource-for-espresso/ IdlingResource를 사용하는 방법을 보여주기 위해 전체 예제를 넣었습니다. 등록하고 등록을 취소하십시오. 테스트 코드. 프로덕션 코드에서 사용하고있는 ThreadPool의 인스턴스가 필요합니다. 공장 패턴 또는 대거를 적극 권장합니다. – luong