Ho un viewpager personalizzato (con swip disabilitato per motivi) che funziona con un tablayout. Il contenuto cambia in base alla scheda selezionata. Voglio testare questo usando espresso: 1) Fare clic su una particolare scheda 2) Controllare alcuni dati in una pagina specifica della scheda Come posso farlo. Sono un novizio per l'espressoCome impostare la scheda corrente in viewpager con tablayout
risposta
Espresso deve essere utilizzato quando si sa chiaramente cosa è previsto nell'interfaccia utente e quindi è possibile verificare lo stesso.
Nel tuo caso, per andare a qualsiasi scheda, puoi usare l'azione di visualizzazione per toccare quella scheda. Per verificare i dati, per prima cosa dovresti sapere quali dati ci si aspetta che siano presenti in quella scheda e quindi utilizzare solo i parametri di corrispondenza per verificare se sono visualizzati o meno.
Ci sono diversi modi di fare questo, un compito facile è quello di selezionare l'elemento da parte del titolo della scheda, io uso questo codice:
Matcher<View> matcher = allOf(withText("TAB TITLE"),
isDescendantOfA(withId(R.id.customTab)));
onView(matcher).perform(click());
SystemClock.sleep(800); // Wait a little until the content is loaded
Devi solo adattare il matcher al layout. Quindi, controllare il contenuto.
Ad esempio:
onView(withId(R.id.someId)).check(matches(isCompletelyDisplayed()));
o:
onView(withText(R.string.someText)).check(matches(isCompletelyDisplayed()));
Si possono trovare esempi qui nel Specifica di una vista Matcher sezione: http://developer.android.com/intl/es/training/testing/ui-testing/espresso-testing.html
Se si utilizza un RecyclerView a mostra il contenuto delle schede dai un'occhiata a questo: Espresso RecyclerView inside ViewPager
- 1. Android come nascondere la scheda da TabLayout
- 2. TabLayout senza utilizzare ViewPager
- 3. TabLayout scheda selezionata gravità
- 4. Testo scheda TabLayout non visualizzato
- 5. Aggiornamento dinamico di TabLayout senza modificare la scheda selezionata
- 6. Come impostare la dimensione dell'icona in TabLayout?
- 7. viewpager setCurrentItem non cambiare tablayout colore selezionato
- 8. Rimuovere la riga del selettore nella scheda corrente per un TabLayout
- 9. Come creare un TabLayout senza viewPager?
- 10. Come impostare icona accanto al testo in tablayout
- 11. ViewPager con barra degli strumenti e TabLayout ha un'altezza errata
- 12. Come si ottiene la visualizzazione di una scheda in un TabLayout?
- 13. Tablayout con solo icone
- 14. Come rendere la scheda scorrevole in Android?
- 15. TabLayout con ViewPager che non funziona all'interno del frammento Android
- 16. Disabilita TabLayout
- 17. Sostituisci frammento con ViewPager nella scheda ActionBar
- 18. Scheda attiva centrale all'interno di TabLayout
- 19. Sostituisci frammento corrente in ViewPager su Android
- 20. Come modificare il colore dell'evidenziatore della scheda corrente in Android ViewPager?
- 21. TabLayout colore della scheda selezionata sottolineatura
- 22. Come impostare 4 scheda spazio in bash
- 23. Come impostare TabLayout di Android nella parte inferiore dello schermo?
- 24. TabLayout imposta spaziatura o margine su ogni scheda
- 25. Se si fa clic su schede, la scheda corrente non viene modificata quando si utilizza Android TabLayout
- 26. TabLayout Icona non mostrando
- 27. Android: ViewPager FragmentStatePagerAdapter visualizza corrente
- 28. Ottieni la scheda attiva corrente tramite JS.
- 29. ViewPager imposta la pagina corrente in modo programmato
- 30. C'è un modo per aggiungere una linea verticale tra ogni scheda in TabLayout
Questo non spiega come selezionare una scheda specifica in un ViewPager. –