Questa guida illustra l'installazione di Espresso utilizzando SDK Manager e la sua creazione con Gradle. È consigliabile utilizzare Android Studio.
Configura l'ambiente di test
Per evitare instabilità, ti consigliamo vivamente di disattivare le animazioni di sistema sui dispositivi virtuali o fisici utilizzati per i test. Sul dispositivo, in Impostazioni > Opzioni sviluppatore, disattiva le seguenti tre impostazioni:
- Scala animazione finestra
- Scala animazione transizione
- Scala durata animatore
Aggiungi le dipendenze di Espresso
Per aggiungere le dipendenze di Espresso al tuo progetto, completa i seguenti passaggi:
- Apri il file
build.gradledella tua app. In genere non si tratta del filebuild.gradledi primo livello, ma diapp/build.gradle. - Aggiungi le seguenti righe all'interno delle dipendenze:
Alla moda
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' androidTestImplementation 'androidx.test:runner:1.6.1' androidTestImplementation 'androidx.test:rules:1.6.1'
Kotlin
androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1') androidTestImplementation('androidx.test:runner:1.6.1') androidTestImplementation('androidx.test:rules:1.6.1')
Visualizza l'insieme completo delle dipendenze Gradle.
Imposta l'esecutore della strumentazione
Aggiungi allo stesso file build.gradle la seguente riga in android.defaultConfig:
Alla moda
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Esempio di file di build Gradle
Alla moda
plugins { id 'com.android.application' } android { compileSdkVersion 36 defaultConfig { applicationId "com.my.awesome.app" minSdkVersion 23 targetSdkVersion 36 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } } dependencies { androidTestImplementation 'androidx.test:runner:1.6.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' }
Kotlin
plugins { id("com.android.application") } android { compileSdkVersion(36) defaultConfig { applicationId = "com.my.awesome.app" minSdkVersion(23) targetSdkVersion(36) versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } } dependencies { androidTestImplementation('androidx.test:runner:1.6.1') androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1') }
Analytics
Per assicurarci di essere sulla strada giusta con ogni nuova release, l'esecutore di test raccoglie dati e analisi. Più precisamente, carica un hash del nome del pacchetto dell'applicazione in fase di test per ogni chiamata. In questo modo possiamo misurare sia il numero di pacchetti unici che utilizzano Espresso sia il volume di utilizzo.
Se non vuoi caricare questi dati, puoi disattivare questa opzione includendo l'argomento disableAnalytics nel comando di strumentazione:
adb shell am instrument -e disableAnalytics true
Aggiungi il primo test
Android Studio crea i test per impostazione predefinita in
src/androidTest/java/com.example.package/.
Esempio di test JUnit4 che utilizza le regole:
Kotlin
@RunWith(AndroidJUnit4::class) @LargeTest class HelloWorldEspressoTest { @get:Rule val activityRule = ActivityScenarioRule(MainActivity::class.java) @Test fun listGoesOverTheFold() { onView(withText("Hello world!")).check(matches(isDisplayed())) } }
Java
@RunWith(AndroidJUnit4.class) @LargeTest public class HelloWorldEspressoTest { @Rule public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class); @Test public void listGoesOverTheFold() { onView(withText("Hello world!")).check(matches(isDisplayed())); } }
Esegui test
Puoi eseguire i test in Android Studio o dalla riga di comando.
In Android Studio
Per creare una configurazione di test in Android Studio, completa i seguenti passaggi:
- Apri Run > Edit Configurations (Esegui > Modifica configurazioni).
- Aggiungi una nuova configurazione di test Android.
- Scegli un modulo.
- Aggiungi un runner di strumentazione specifico:
androidx.test.runner.AndroidJUnitRunner - Esegui la configurazione appena creata.
Dalla riga di comando
Esegui questo comando Gradle:
./gradlew connectedAndroidTest