Ce guide explique comment installer Espresso à l'aide du SDK Manager et le compiler à l'aide de Gradle. Android Studio est recommandé.
Configurer votre environnement de test
Pour éviter les erreurs, nous vous recommandons vivement de désactiver les animations système sur les appareils virtuels ou physiques utilisés pour les tests. Sur votre appareil, sous Paramètres > Options pour les développeurs, désactivez les trois paramètres suivants:
- Échelle animation fenêtres
- Échelle anim. transitions
- Échelle durée animation
Ajouter des dépendances Espresso
Pour ajouter des dépendances Espresso à votre projet, procédez comme suit:
- Ouvrez le fichier
build.gradle
de votre application. Il ne s'agit généralement pas du fichierbuild.gradle
de niveau supérieur, mais deapp/build.gradle
. - Ajoutez les lignes suivantes dans les dépendances:
Groovy
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')
Consultez l'ensemble complet des dépendances Gradle.
Définir le programme d'instrumentation
Ajoutez la ligne suivante dans android.defaultConfig
au même fichier build.gradle
:
Groovy
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Exemple de fichier de compilation Gradle
Groovy
plugins { id 'com.android.application' } android { compileSdkVersion 33 defaultConfig { applicationId "com.my.awesome.app" minSdkVersion 21 targetSdkVersion 33 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(33) defaultConfig { applicationId = "com.my.awesome.app" minSdkVersion(21) targetSdkVersion(33) 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') }
Données analytiques
Pour s'assurer que nous sommes sur la bonne voie à chaque nouvelle version, le testeur collecte des données analytiques. Plus précisément, il importe un hachage du nom de package de l'application testée pour chaque appel. Cela nous permet de mesurer à la fois le nombre de packages uniques utilisant Espresso et le volume d'utilisation.
Si vous ne souhaitez pas importer ces données, vous pouvez les désactiver en incluant l'argument disableAnalytics
dans votre commande d'instrumentation:
adb shell am instrument -e disableAnalytics true
Ajouter le premier test
Android Studio crée des tests par défaut dans src/androidTest/java/com.example.package/
.
Exemple de test JUnit4 à l'aide de règles:
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())); } }
Exécuter des tests
Vous pouvez exécuter vos tests dans Android Studio ou à partir de la ligne de commande.
Dans Android Studio
Pour créer une configuration de test dans Android Studio, procédez comme suit:
- Ouvrez Run > Edit Configurations (Exécuter > Modifier les configurations).
- Ajoutez une configuration de tests Android.
- Choisissez un module.
- Ajoutez un exécuteur d'instrumentation spécifique:
androidx.test.runner.AndroidJUnitRunner
- Exécutez la configuration nouvellement créée.
Depuis la ligne de commande
Exécutez la commande Gradle suivante:
./gradlew connectedAndroidTest