Istruzioni per la configurazione Espresso

Questa guida spiega come installare Espresso utilizzando SDK Manager e come crearlo utilizzando Gradle. È consigliato Android Studio.

Configurare l'ambiente di test

Per evitare problemi di 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 3 impostazioni:

  • Scala di animazione finestra
  • Scala di animazione transizione
  • Scala durata animatore

Aggiungere le dipendenze di Espresso

Per aggiungere le dipendenze di Espresso al tuo progetto:

  1. Apri il file build.gradle dell'app. Di solito non è il file build.gradle di primo livello, ma app/build.gradle.
  2. 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 di Gradle.

Impostare il runner di strumentazione

Aggiungi la seguente riga in android.defaultConfig allo stesso file build.gradle:

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, il runner di test raccoglie dati di analisi. Più nello specifico, carica un hash del nome del pacchetto dell'applicazione in fase di test per ogni chiamata. In questo modo possiamo misurare sia il conteggio dei 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

Aggiungere il primo test

Per impostazione predefinita, Android Studio crea i test 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:

  1. Apri Esegui > Modifica configurazioni.
  2. Aggiungi una nuova configurazione di test Android.
  3. Scegli un modulo.
  4. Aggiungi un runner di strumentazione specifico: androidx.test.runner.AndroidJUnitRunner
  5. Esegui la configurazione appena creata.

Dalla riga di comando

Esegui il seguente comando Gradle:

./gradlew connectedAndroidTest