Z tego przewodnika dowiesz się, jak zainstalować Espresso za pomocą Menedżera SDK i je utworzyć za pomocą Gradle. Zalecamy korzystanie z Android Studio.
Konfigurowanie środowiska testowego
Aby uniknąć niestabilności obrazu, zalecamy wyłączenie animacji systemowych wirtualnych lub fizycznych urządzeń używanych do testowania. Na urządzeniu w sekcji Ustawienia > Opcje programisty – wyłącz te 3 ustawienia:
- Skala animacji okna
- Skala animacji przejścia
- Skala długości animacji
Dodaj zależności Espresso
Aby dodać zależności Espresso do projektu, wykonaj te czynności:
- Otwórz plik
build.gradle
z aplikacją. Zwykle nie jest to plikbuild.gradle
najwyższego poziomu, aleapp/build.gradle
. - Dodaj te wiersze w zależności:
Odlotowe
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')
Wyświetl pełny zestaw zależności Gradle
Ustaw Uruchamianie narzędzia
Dodaj do tego samego pliku build.gradle
następujący wiersz w
android.defaultConfig
:
Odlotowe
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Przykładowy plik kompilacji Gradle
Odlotowe
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') }
Statystyki
Aby mieć pewność, że z każdą nową wersją zbierający statystyki Mówiąc dokładniej, przesyła hasz pakietu nazwa testowanej aplikacji przy każdym wywołaniu. Dzięki temu możemy mierzyć zarówno liczbę unikalnych opakowań za pomocą Espresso, jak i objętość korzystania z sieci.
Jeśli nie chcesz przesyłać tych danych, możesz z nich zrezygnować, dodając
disableAnalytics
argument w poleceniu instrumentacji:
adb shell am instrument -e disableAnalytics true
Dodaj pierwszy test
Android Studio domyślnie tworzy testy w
src/androidTest/java/com.example.package/
Przykładowy test JUnit4 przy użyciu reguł:
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())); } }
Przeprowadzanie testów
Testy możesz przeprowadzać w Android Studio lub z poziomu wiersza poleceń.
W Android Studio
Aby utworzyć konfigurację testową w Android Studio, wykonaj te czynności:
- Wybierz kolejno Uruchom > Edytuj konfiguracje.
- Dodaj nową konfigurację Android Tests.
- Wybierz moduł.
- Dodaj konkretny biegacz instrumentacji:
androidx.test.runner.AndroidJUnitRunner
- Uruchom nowo utworzoną konfigurację.
Z poziomu wiersza poleceń
Wykonaj to polecenie Gradle:
./gradlew connectedAndroidTest