Usa Espresso per scrivere test dell'interfaccia utente Android concisi, accattivanti e affidabili.
Il seguente snippet di codice mostra un esempio di test Espresso:
Kotlin
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
Java
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
L'API di base è piccola, prevedibile e facile da imparare, ma rimane aperta alla personalizzazione. I test Espresso dichiarano chiaramente aspettative, interazioni e affermazioni senza la distrazione dei contenuti boilerplate, dell'infrastruttura personalizzata o dei disordinati dettagli di implementazione.
I test del caffè espresso vengono eseguiti in modo ottimale in tempi rapidi. Ti consente di abbandonare le attese, le sincronizzazioni, i periodi di sospensione e i sondaggi mentre manipola e rivendica i dati nell'interfaccia utente dell'applicazione quando è at-rest.
Pubblico di destinazione
Espresso si rivolge agli sviluppatori, che ritengono che i test automatici siano una parte integrale del ciclo di vita dello sviluppo. Sebbene possa essere utilizzato per i test black-box, tutta la potenza di Espresso è sbloccata da coloro che hanno familiarità con il codebase in fase di test.
Capacità di sincronizzazione
Ogni volta che il test richiama onView()
, Espresso attende di eseguire l'azione o l'asserzione dell'interfaccia utente corrispondente fino a quando non vengono soddisfatte le seguenti condizioni di sincronizzazione:
- La coda dei messaggi non contiene messaggi che Espresso deve elaborare immediatamente.
- Non sono presenti istanze di
AsyncTask
che attualmente eseguono un'attività. - Tutte le risorse di inattività definite dallo sviluppatore sono inattive.
Eseguendo questi controlli, Espresso aumenta notevolmente la probabilità che si verifichi una sola azione o asserzione dell'interfaccia utente alla volta. Questa funzionalità offre risultati dei test più affidabili e affidabili.
Pacchetti
espresso-core
: contiene i matcher, le azioni e le dichiarazioni principali e di base diView
. Vedi Nozioni di base e Ricette.espresso-web
: contiene risorse per l'assistenzaWebView
.espresso-idling-resource
- Meccanismo di espresso per la sincronizzazione con i job in background.espresso-contrib
- Contributi esterni che contengono azioniDatePicker
,RecyclerView
eDrawer
, controlli di accessibilità eCountingIdlingResource
.espresso-intents
- Estensione per convalidare e stub gli intenti per i test ermetici.espresso-remote
: posizione della funzionalità multi-processo di Espresso.
Per ulteriori informazioni sulle versioni più recenti, consulta le note di rilascio.
Risorse aggiuntive
Per ulteriori informazioni sull'utilizzo di Espresso nei test Android, consulta le risorse seguenti.
Samples
- Campioni di codice espresso include una selezione completa di campioni di caffè espresso,
- BasicSample: campione di base per espresso.
- (altro...)