Instructions de configuration d'Espresso

Ce guide explique comment installer Espresso à l'aide du SDK Manager et le compiler à l'aide de Gradle. Nous vous recommandons d'utiliser Android Studio.

Configurer votre environnement de test

Pour éviter ces problèmes, 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 Settings > Developer options (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:

  1. Ouvrez le fichier build.gradle de votre application. Il ne s'agit généralement pas du fichier build.gradle de premier niveau, mais du fichier app/build.gradle.
  2. 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')

Affichez l'ensemble complet des dépendances Gradle.

Définir l'exécuteur 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:

  1. Ouvrez Run > Edit Configurations (Exécuter > Modifier les configurations).
  2. Ajoutez une configuration de tests Android.
  3. Choisissez un module.
  4. Ajoutez un exécuteur d'instrumentation spécifique: androidx.test.runner.AndroidJUnitRunner
  5. Exécutez la configuration nouvellement créée.

Depuis la ligne de commande

Exécutez la commande Gradle suivante:

./gradlew connectedAndroidTest