package com.vgrec.espressoexamples; import android.support.test.espresso.contrib.RecyclerViewActions; import android.test.ActivityInstrumentationTestCase2; import com.vgrec.espressoexamples.activities.RecyclerViewActivity; 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.hasDescendant; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; /** * @author vgrec, created on 3/30/15. */ public class RecyclerViewTest extends ActivityInstrumentationTestCase2<RecyclerViewActivity> { private static final String BOOK_TITLE = "Clean Code"; private static final String BOOK_AUTHOR = "Robert C. Martin"; public RecyclerViewTest() { super(RecyclerViewActivity.class); } @Override protected void setUp() throws Exception { super.setUp(); getActivity(); } public void testClickAtPosition() { // Perform a click on first element in the RecyclerView onView(withId(R.id.recyclerView)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click())); onView(withId(R.id.book_title)).check(matches(withText(BOOK_TITLE))); onView(withId(R.id.book_author)).check(matches(withText(BOOK_AUTHOR))); } public void testClickOnViewInRow() { // Perform click on an element with a specific text onView(withId(R.id.recyclerView)).perform(RecyclerViewActions.actionOnItem( hasDescendant(withText(BOOK_TITLE)), click())); onView(withId(R.id.book_title)).check(matches(withText(BOOK_TITLE))); } }