Тестирование индикатора выполнения на Android с помощью Espresso

Рабочий процесс должен быть следующим:

Деятельность начинаетсяПрогресс-бар виденСетевой запрос срабатывает (ресурс холостого хода уже зарегистрирован, поэтому эспрессо знает, как его ждать).Индикатор выполнения скрытТекст из сети отображается.

До этого момента я написал утверждения для шагов1, 3, 5 и работает отлично

onView(withText("foo 1"))
    .check(matches(isDisplayed()));

Проблема в том, что я понятия не имею, как сообщить эспрессо, чтобы проверить видимость индикатора выполнения.до запрос сделан ипосле запрос сделан.

РассмотримonCreate() Метод заключается в следующем:

super.onCreate(...);
setContentView(...);

showProgressBar(true);
apiClient.getStuff(new Callback() {
    public void onSuccess() {
        showProgressBar(false);
    }
});

Я пробовал следующее, но это не работает:

// Activity is launched at this point.
activityRule.launchActivity(new Intent());

// Up to this point, the request has been fired and response was 
// returned, so the progress bar is now GONE.
onView(withId(R.id.progress_bar))
   .check(matches(isDisplayed()));

onView(withId(R.id.progress_bar))
    .check(matches(not(isDisplayed())));

Причина этого заключается в том, что, поскольку клиент зарегистрирован как ресурс ожидания, эспрессо будет ждать, пока он не будетвхолостую снова перед запуском первогоonView(...progressbar...)... так что мне нужен способ, чтобы эспрессо знал, чтобы запустить этоДО собираюсь бездействовать.

РЕДАКТИРОВАТЬ: это тоже не работает:

idlingResource.registerIdleTransitionCallback(new IdlingResource.ResourceCallback() {
        @Override
        public void onTransitionToIdle() {
            onView(withId(R.id.progress_bar))
                    .check(matches(isDisplayed()));
        }
    });

Ответы на вопрос(4)

Ваш ответ на вопрос