Anleitung zur Einrichtung von Espresso

In diesem Leitfaden erfahren Sie, wie Sie Espresso mit dem SDK Manager installieren und mit Gradle erstellen. Wir empfehlen Android Studio.

Testumgebung einrichten

Wir empfehlen dringend, die Systemanimationen auf den virtuellen oder physischen Geräten, die zum Testen verwendet werden, zu deaktivieren, um unzuverlässige Inhalte zu vermeiden. Deaktivieren Sie auf Ihrem Gerät unter Einstellungen > Entwickleroptionen die folgenden drei Einstellungen:

  • Fensteranimationsfaktor
  • Übergangsanimationsfaktor
  • Animationsdauerfaktor

Espresso-Abhängigkeiten hinzufügen

Führen Sie die folgenden Schritte aus, um Espresso-Abhängigkeiten zu Ihrem Projekt hinzuzufügen:

  1. Öffnen Sie die build.gradle-Datei Ihrer App. Dies ist normalerweise nicht die Datei build.gradle der obersten Ebene, sondern app/build.gradle.
  2. Fügen Sie innerhalb der Abhängigkeiten die folgenden Zeilen hinzu:

Cool

androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
androidTestImplementation('androidx.test:runner:1.4.0')
androidTestImplementation('androidx.test:rules:1.4.0')

Vollständige Liste der Gradle-Abhängigkeiten

Instrumentierungs-Runner festlegen

Fügen Sie derselben build.gradle-Datei die folgende Zeile in android.defaultConfig hinzu:

Cool

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Gradle-Build-Beispieldatei

Cool

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.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

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.4.0')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
}

Analytics

Um sicherzustellen, dass wir mit jedem neuen Release auf dem richtigen Weg sind, erfasst der Test-Runner Analysen. Genauer gesagt wird bei jedem Aufruf ein Hash des Paketnamens der zu testenden Anwendung hochgeladen. So können wir sowohl die Anzahl einzelner Pakete, die Espresso verwenden, als auch das Nutzungsvolumen messen.

Wenn Sie diese Daten nicht hochladen möchten, können Sie sie deaktivieren, indem Sie das Argument disableAnalytics in den Instrumentierungsbefehl aufnehmen:

adb shell am instrument -e disableAnalytics true

Ersten Test hinzufügen

Android Studio erstellt Tests standardmäßig in src/androidTest/java/com.example.package/.

Beispiel für einen JUnit4-Test mit Regeln:

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()));
    }
}

Tests ausführen

Sie können Ihre Tests in Android Studio oder über die Befehlszeile ausführen.

In Android Studio

Führen Sie die folgenden Schritte aus, um eine Testkonfiguration in Android Studio zu erstellen:

  1. Klicken Sie auf Run > Edit Configurations (Ausführen > Konfigurationen bearbeiten).
  2. Fügen Sie eine neue Android-Testkonfiguration hinzu.
  3. Wählen Sie ein Modul aus.
  4. Einen bestimmten Instrumentierungs-Runner hinzufügen: androidx.test.runner.AndroidJUnitRunner
  5. Führen Sie die neu erstellte Konfiguration aus.

Über die Befehlszeile

Führen Sie den folgenden Gradle-Befehl aus:

./gradlew connectedAndroidTest