Рабочий процесс должен быть следующим:
- Начало активности
 - Индикатор выполнения отображается
 - Пожары сетевого запроса (ресурс холостого хода уже зарегистрирован, поэтому эспрессо знает, как его ждать).
 - Панель выполнения скрыта
 - Отображается текст из сети.
 
До этого момента я написал утверждения для шагов 1, 3, 5, и он отлично работает:
onView(withText("foo 1"))
    .check(matches(isDisplayed()));
Проблема заключается в том, что я понятия не имею, как сообщить espresso для проверки видимости индикатора выполнения до запроса и после запроса. p >
Рассмотрим метод 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())));
Причина, по которой это происходит, заключается в том, что, поскольку клиент зарегистрирован как ресурс бездействия, espresso будет ждать, пока он будет  idle снова, прежде чем запускать первый onView(...progressbar...)..., поэтому мне нужно, чтобы espresso знает, чтобы запустить это, прежде чем идти в режим ожидания.
EDIT: тоже не работает:
idlingResource.registerIdleTransitionCallback(new IdlingResource.ResourceCallback() {
        @Override
        public void onTransitionToIdle() {
            onView(withId(R.id.progress_bar))
                    .check(matches(isDisplayed()));
        }
    });