Instructions de configuration d'Espresso

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

Configurer votre environnement de test

Pour éviter tout problème, nous vous recommandons vivement de désactiver 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:

  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 au même fichier build.gradle la ligne suivante dans android.defaultConfig:

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 nous assurer que nous sommes sur la bonne voie pour chaque nouvelle version, le test collecte des données analytiques. Plus précisément, il importe un hachage du package nom de l'application testée pour chaque appel. Cela nous permet de mesurer le nombre de packages uniques à l'aide d'Espresso et le volume d'utilisation.

Si vous ne souhaitez pas importer ces données, vous pouvez vous désinscrire en incluant le 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 utilisant des 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 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 que vous venez de créer.

Depuis la ligne de commande

Exécutez la commande Gradle suivante:

./gradlew connectedAndroidTest