Istruzioni per la configurazione Espresso

Questa guida illustra l'installazione e la creazione di Espresso tramite SDK Manager utilizzando Gradle. È consigliato Android Studio.

Configura l'ambiente di test

Per evitare irregolarità, ti consigliamo vivamente di disattivare le animazioni di sistema nella i dispositivi virtuali o fisici utilizzati per i test. Sul dispositivo, sotto Impostazioni > Opzioni sviluppatore, disattiva le tre impostazioni seguenti:

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

Aggiungi dipendenze Espresso

Per aggiungere dipendenze Espresso al progetto, completa i seguenti passaggi:

  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 il set completo di dipendenze Gradle.

Imposta il runner 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"

File di build Gradle di esempio

Alla moda

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')
}

Analytics

Per assicurarci di essere sulla strada giusta con ogni nuova uscita, il test runner raccoglie dati e analisi. Nello specifico, carica un hash del pacchetto il nome dell'applicazione sottoposta a test per ogni chiamata. Questo ci consente di misurare sia il numero di pacchi unici utilizzando Espresso sia il volume di utilizzo.

Se non vuoi caricare questi dati, puoi disattivarli includendo il Argomento disableAnalytics nel comando di strumentazione:

adb shell am instrument -e disableAnalytics true

Aggiungi il primo test

Android Studio crea test per impostazione predefinita src/androidTest/java/com.example.package/.

Esempio di test JUnit4 con 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, procedi nel seguente modo:

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

Dalla riga di comando

Esegui questo comando Gradle:

./gradlew connectedAndroidTest