package com.example.util; import android.content.Intent; import android.support.annotation.IdRes; import android.support.test.espresso.Espresso; import com.example.App; import org.junit.AfterClass; import org.junit.BeforeClass; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.click; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static org.hamcrest.Matchers.not; public class EspressoTestHelper { protected static final Intent NO_INTENT = null; @BeforeClass public static void setUpForClass() { Espresso.registerIdlingResources(App.getApplicationComponent().countingIdlingResource()); } @AfterClass public static void tearDownForClass() { Espresso.unregisterIdlingResources(App.getApplicationComponent().countingIdlingResource()); } protected void checkViewIsNotVisible(@IdRes int resourceId) { onView(withId(resourceId)) .check(matches(not(isDisplayed()))); } protected void checkViewIsVisible(@IdRes int resourceId) { onView(withId(resourceId)) .check(matches(isDisplayed())); } protected void clickOnView(@IdRes int resourceId) { onView(withId(resourceId)) .check(matches(isDisplayed())) .perform(click()); } }