Estou tentando testar a ausência da visualização da IU. O seletor de visualização é o seguinte:
public static ViewInteraction onMyTestUi() {
return onView(withId(R.id.myTestId));
}
O seletor funciona bem para verificar se a visualização é exibida, mas dá erro ao verificar se a visualização não é exibida. Estou usando isso da seguinte maneira:
onMyTestUi().check(matches(not(isDisplayed())));
Mas recebo o seguinte erro:
com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: Nenhuma visualização na hierarquia encontrada correspondente: com id: is Se a visualização de destino não fizer parte da hierarquia de visualização, pode ser necessário usar Espresso.onData para carregue-o de um dos seguintes AdapterViews: android.widget.ListView {...}
Isto é estranho. Estou verificando a ausência da IU e espera-se que essa visualização não seja encontrada. Então, por que o Espresso está gerando um erro? Por favor, sugira o que pode estar errado aqui.
Obrigado, espantado!
fonte
onView(withId(R.id.myTestId)).check(matches(not(isDisplayed())));
funcionou.View.GONE
naonCreate
função do usuário. Então, isso significa que está na hierarquia de visualizações e invisível?Também trabalhe com o seu método, mas algo assim:
fonte
fonte
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: View is present in the hierarchy...
Se você quiser verificar se
View
é ou não visível ou não existe .Uso:
fonte
onView(withId(R.id.someView)).check(isNotDisplayed());
Você pode tentar esta opção se verificar a visibilidade da vista "withEffectiveVisibility"
fonte