Anleitung zur Einrichtung von Espresso

In dieser Anleitung wird beschrieben, wie Sie Espresso mit dem SDK-Manager installieren und mit Gradle erstellen. Wir empfehlen Android Studio.

Testumgebung einrichten

Um Probleme zu vermeiden, empfehlen wir Ihnen dringend, die Systemanimationen auf den virtuellen oder physischen Geräten, die für die Tests verwendet werden, zu deaktivieren. Deaktivieren Sie auf Ihrem Gerät unter Einstellungen > Entwickleroptionen die folgenden drei Einstellungen:

  • Fensteranimationsfaktor
  • Übergangsanimationsfaktor
  • Animationsdauerfaktor

Espresso-Abhängigkeiten hinzufügen

So fügen Sie Ihrem Projekt Espresso-Abhängigkeiten hinzu:

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

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

Vollständige Liste der Gradle-Abhängigkeiten ansehen

Instrumentierungs-Runner festlegen

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

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Beispiel für eine Gradle-Builddatei

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

Analysezwecke

Damit wir bei jeder neuen Version auf dem richtigen Weg sind, erhebt der Testläufer Analysen. Konkret wird bei jeder Aufrufung ein Hash des Paketnamens der getesteten Anwendung hochgeladen. So können wir sowohl die Anzahl der einzelnen Pakete mit Espresso als auch das Nutzungsvolumen messen.

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

adb shell am instrument -e disableAnalytics true

Ersten Test hinzufügen

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

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

So erstellen Sie eine Testkonfiguration in Android Studio:

  1. Öffnen Sie Ausführen > Konfigurationen bearbeiten.
  2. Fügen Sie eine neue Konfiguration für Android-Tests hinzu.
  3. Wählen Sie ein Modul aus.
  4. Fügen Sie einen bestimmten Instrumentierungs-Runner hinzu: 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