@Test
public void clickOnYourNavigationItem_ShowsYourScreen() {
// Open Drawer to click on navigation.
onView(withId(R.id.drawer_layout))
.check(matches(isClosed(Gravity.LEFT))) // Left Drawer should be closed.
.perform(DrawerActions.open()); // Open Drawer
// Start the screen of your activity.
onView(withId(R.id.nav_view))
.perform(NavigationViewActions.navigateTo(R.id.your_navigation_menu_item));
// Check that you Activity was opened.
String expectedNoStatisticsText = InstrumentationRegistry.getTargetContext()
.getString(R.string.no_item_available);
onView(withId(R.id.no_statistics)).check(matches(withText(expectedNoStatisticsText)));
}
Questo fa esattamente quello che stai cercando.
Altri esempi sono disponibili here o here
Sembra che il link codice sorgente per 'navigateTo' in costume ViewAction è rotto. –
@SudarsanGP hai ragione. Sembra che sia stato aggiunto al sdk di Android. Ho intenzione di aggiornare il riferimento nella risposta. Basta usare 'NavigationViewActions' definito in' android.support.test.espresso.contrib' – GVillani82