Z tego przewodnika dowiesz się, jak zainstalować Espresso za pomocą Menedżera SDK i kompilować je za pomocą Gradle. Zalecamy korzystanie z Android Studio.
Konfigurowanie środowiska testowego
Aby uniknąć niestabilności, zdecydowanie zalecamy wyłączenie animacji systemowych na urządzeniach wirtualnych lub fizycznych używanych do testowania. W sekcji Ustawienia > Opcje programisty na urządzeniu 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.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')
Wyświetl pełny zestaw zależności Gradle
Ustaw Uruchamianie narzędzia
Dodaj do tego samego pliku build.gradle
ten 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.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') }
Statystyki
Aby mieć pewność, że z każdą nową wersją przedstawiamy właściwe rozwiązanie, osoba przeprowadzająca testy gromadzi statystyki. Dokładniej rzecz ujmując, przy każdym wywołaniu przesyła hasz nazwy pakietu testowanej aplikacji. Dzięki temu możemy mierzyć zarówno liczbę unikalnych pakietów za pomocą Espresso, jak i ilość użytkowania.
Jeśli nie chcesz przesyłać tych danych, możesz z nich zrezygnować, dodając argument disableAnalytics
w poleceniu instrumentacji:
adb shell am instrument -e disableAnalytics true
Dodaj pierwszy test
Android Studio domyślnie tworzy testy w narzędziu 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:
- Kliknij 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