Testing Snackbar show with Espresso
This worked for me, please try.
onView(allOf(withId(android.support.design.R.id.snackbar_text), withText("My text"))) .check(matches(isDisplayed()));
If you use AndroidX, please use the following:
onView(withId(com.google.android.material.R.id.snackbar_text)) .check(matches(withText(R.string.whatever_is_your_text)))
An alternative
private void checkSnackBarDisplayedByMessage(@StringRes int message) { onView(withText(message)) .check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));}
I saw the previous answers but I thought this would be better.
@Testpublic void onFabClick_shouldDisplaySnackbar() throws Exception { onView(withId(R.id.fab)).perform(click()); // Compare with the text message of snackbar onView(withText(R.string.snackbar_message)) .check(matches(isDisplayed()));}