Usa Espresso per scrivere test dell'UI Android concisi, accattivanti e affidabili.
Il seguente snippet di codice mostra un esempio di test del caffè 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 principale è piccola, prevedibile e facile da apprendere, ma rimane aperta al pubblico personalizzazione. I test di Espresso indicano aspettative, interazioni e asserzioni chiaramente senza la distrazione dei contenuti boilerplate, dell'infrastruttura personalizzata o disordinati dettagli di implementazione.
I test del caffè espresso sono veloci e ottimali. Ti permette di attendere, sincronizzare e dormire e si pone dietro, mentre manipola e asserisce l'applicazione UI quando è at-rest.
Pubblico di destinazione
Espresso si rivolge agli sviluppatori, che ritengono che i test automatici siano parte integrante del ciclo di vita di sviluppo. Sebbene possa essere utilizzato per black-box test, tutta la potenza di Espresso viene sbloccata da chi ha familiarità con codebase sottoposto a test.
Funzionalità di sincronizzazione
Ogni volta che il test richiama
onView()
,
Espresso attende di eseguire l'azione o l'asserzione nell'interfaccia utente corrispondente finché
vengono soddisfatte le seguenti condizioni di sincronizzazione:
- La coda di messaggi non contiene messaggi di cui Espresso deve accedere immediatamente. e il processo di sviluppo.
- Non sono presenti istanze di
AsyncTask
attualmente in esecuzione un'attività. - Tutti i contenuti definiti dallo sviluppatore risorse inattive sono inattive.
Eseguendo questi controlli, Espresso aumenta notevolmente la probabilità che può essere eseguita una sola azione o asserzione nell'interfaccia utente alla volta. Questa funzionalità offre risultati dei test più affidabili e affidabili.
Pacchetti
espresso-core
- Contiene matcherView
principali e di base, azioni e le asserzioni. Consulta Nozioni di base e Recipes.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 contengonoDatePicker
, AzioniRecyclerView
eDrawer
, controlli di accessibilità eCountingIdlingResource
.espresso-intents
- Estensione per la convalida e lo stub degli intent per i test ermetici.espresso-remote
: posizione della funzionalità multiprocesso di Espresso.
Per scoprire di più sulle versioni più recenti, consulta il note di rilascio.
Risorse aggiuntive
Per ulteriori informazioni sull'uso di Espresso nei test Android, consulta le seguenti risorse.
Campioni
- Esempi di codice per caffè espresso include una selezione completa di campioni di espresso.
- BasicSample: Esempio di espresso di base.
- (altro...)