2016-01-11 12 views
6

Domyślnie espresso czeka na pasek postępu z mojej aktywności, aby zakończyć ładowanie przed wykonaniem następnej instrukcji.Force Espresso nie czekać na postęp

Chciałbym zmusić Espresso, aby nie czekał na niego i wykonał pozostałe instrukcje w trakcie ładowania okna postępu.

Jakieś trafienie, gdzie powinienem to poszukać?

Po pewnych badaniach zakładam, że muszę skorzystać z klasy IdlingResource.

Odpowiedz

2

Sprawdź tę odpowiedź:

Domyślny limit czasu, że espresso będzie czekać na wszystkich zarejestrowanych zasobów bezczynność jest jedna minuta.

Można to zmienić za pomocą klasy IdlingPolicies dawać wyraźny timeout:

IdlingPolicies.setIdlingResourceTimeout(1, TimeUnit.HOURS); 

Od: Espresso how to wait for some time(1 hour)?

zamiast 1 godziny spróbuj ustawić na przykład 1 sekundę (I don nie wiem czy dozwolony jest 0).

Można również utworzyć niestandardowy biegu jałowym zasobów jak to jest wyjaśnione tutaj: Espresso: Thread.sleep();

Mam nadzieję, że pomoże

+1

Witam, dzięki za answrer. Po prostu próbowałem dodać niestandardowy limit czasu zasobu na biegu jałowym wynoszący 1 sekundę, ale wydaje się, że nie ma on żadnego efektu. Czy mógłbyś być nieco bardziej konkretny, gdzie ten fragment kodu musi zostać dodany? Próbowałem dodać go bezpośrednio do testu. –

+0

Wystarczy sprawdzić pierwszy link powyżej - tutaj znajdziesz pełny kod z dokładnie tą linią – piotrek1543

+1

Po prostu to zrobiłem. Kod działa, ale oczekiwanie następuje dopiero po zakończeniu paska postępu. Co chcę, to zignorować pasek postępu i czekać na niestandardową ilość czasu ... –