Sto provando a verificare l'assenza della vista dell'interfaccia utente. Il selettore vista è la seguente:(non (isDisplayed())) non riesce con NoMatchingViewException
public static ViewInteraction onMyTestUi() {
return onView(withId(R.id.myTestId));
}
Il selettore funziona bene per verificare se è visualizzata la vista, ma dà l'errore sulla verifica se la vista non viene visualizzato. Sto usando questo come segue:
onMyTestUi().check(matches(not(isDisplayed())));
Ma ottengo il seguente errore:
com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: is If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.widget.ListView{...}
Questo è strano. Sto verificando l'assenza dell'interfaccia utente e ci si aspetta che questa vista non venga trovata. Allora perché l'Espresso sta commettendo errori? Si prega di suggerire cosa potrebbe andare storto qui.
Grazie, Stupito!
Non funziona per me, ma 'OnView (withId (R.id.myTestId)) di controllo (partite (non (isDisplayed()))); 'ha funzionato. – Sithu
@Sithu-Dipende dall'app. Se la vista che stai cercando è nella gerarchia della vista ma invisibile, devi usare non (isDisplayed). Tuttavia, se la vista non è presente nella gerarchia della vista, è necessario utilizzare doesNotExist(). – user846316
Ho il pulsante nel layout, ma imposta visibilità 'View.GONE' in' onCreate' in base al ruolo dell'utente. Quindi, significa che è nella gerarchia della vista e invisibile? – Sithu