In diesem Leitfaden erfahren Sie, 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:
- Öffnen Sie die
build.gradle
-Datei Ihrer App. Dies ist normalerweise nicht die Dateibuild.gradle
der obersten Ebene, sondernapp/build.gradle
. - 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:
- Öffnen Sie Ausführen > Konfigurationen bearbeiten.
- Fügen Sie eine neue Konfiguration für Android-Tests hinzu.
- Wählen Sie ein Modul aus.
- Fügen Sie einen bestimmten Instrumentierungs-Runner hinzu:
androidx.test.runner.AndroidJUnitRunner
- Führen Sie die neu erstellte Konfiguration aus.
Über die Befehlszeile
Führen Sie folgenden Gradle-Befehl aus:
./gradlew connectedAndroidTest