Estoy tratando de probar la ausencia de la vista de IU. El selector de vista es el siguiente:
public static ViewInteraction onMyTestUi() {
return onView(withId(R.id.myTestId));
}
El selector funciona bien para verificar si se muestra la vista, pero da error al verificar si la vista no se muestra. Estoy usando esto de la siguiente manera:
onMyTestUi().check(matches(not(isDisplayed())));
Pero obtengo el siguiente error:
com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: No se encontraron vistas en la jerarquía que coincidan: con id: is Si la vista de destino no forma parte de la jerarquía de vistas, es posible que deba usar Espresso.onData para cárguelo desde uno de los siguientes AdapterViews: android.widget.ListView {...}
Esto es extraño. Estoy comprobando la ausencia de la interfaz de usuario y se espera que no se encuentre esta vista. Entonces, ¿por qué Espresso arroja un error? Sugiera qué podría estar fallando aquí.
¡Gracias, asombrado!
fuente
onView(withId(R.id.myTestId)).check(matches(not(isDisplayed())));
funcionó.View.GONE
enonCreate
función del usuario. Entonces, ¿significa que está en la jerarquía de vistas y es invisible?También trabaja con tu método, pero algo como esto:
fuente
fuente
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: View is present in the hierarchy...
Si desea comprobar si
View
es o no es visible o no existe .Uso:
fuente
onView(withId(R.id.someView)).check(isNotDisplayed());
Puede probar esta opción si marca la visibilidad de la vista "withEffectiveVisibility"
fuente