Make espresso wait for all RX java calls - source: http://collectiveidea.com/blog/archives/2016/10/13/retrofitting-espresso
import android.os.AsyncTask;
import android.support.test.runner.AndroidJUnitRunner;
import rx.Scheduler;
import rx.functions.Func1;
import rx.plugins.RxJavaHooks;
import rx.schedulers.Schedulers;
public class EspressoRxJUnitRunner extends AndroidJUnitRunner {
  @Override
  public void onStart() {
    Func1<Scheduler, Scheduler> asyncTaskScheduler = new Func1<Scheduler, Scheduler>() {
      @Override
      public Scheduler call(Scheduler scheduler) {
        return Schedulers.from(AsyncTask.THREAD_POOL_EXECUTOR);
      }
    };
    RxJavaHooks.setOnIOScheduler(asyncTaskScheduler);
    RxJavaHooks.setOnComputationScheduler(asyncTaskScheduler);
    RxJavaHooks.setOnNewThreadScheduler(asyncTaskScheduler);
    super.onStart();
  }
}