Instrukcje konfiguracji espresso

Z tego przewodnika dowiesz się, jak zainstalować Espresso za pomocą SDK Manager i utworzyć je za pomocą Gradle. Zalecamy korzystanie z Android Studio.

Konfigurowanie środowiska testowego

Aby uniknąć niestabilnych testów, zdecydowanie zalecamy wyłączenie animacji systemu na urządzeniach wirtualnych lub fizycznych używanych do testów. 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:

  1. Otwórz plik build.gradle aplikacji. Zwykle nie jest to plik build.gradle najwyższego poziomu, ale app/build.gradle.
  2. Dodaj te wiersze w zależnościach:

Odlotowy

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 wskaźnik uruchamiający instrumentację

Dodaj do tego samego pliku build.gradle ten wiersz w pliku android.defaultConfig:

Odlotowy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Przykładowy plik kompilacji Gradle

Odlotowy

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 każda nowa wersja działa jak należy, narzędzie do testów zbiera statystyki. Chodzi konkretnie o to, aby przy każdym wywołaniu przesyłał hasz nazwy pakietu testowanej aplikacji. Dzięki temu możemy mierzyć zarówno liczbę unikalnych pakietów przy użyciu Espresso, jak i ilość zużycia.

Jeśli nie chcesz przesyłać tych danych, możesz 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 src/androidTest/java/com.example.package/.

Przykładowy test JUnit4 z użyciem 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 uruchamiać w Android Studio lub z poziomu wiersza poleceń.

W Android Studio

Aby utworzyć konfigurację testową w Android Studio, wykonaj te czynności:

  1. Kliknij Uruchom > Edytuj konfiguracje.
  2. Dodaj nową konfigurację Android Tests.
  3. Wybierz moduł.
  4. Dodaj konkretną metodę uruchamiającą instrumentację: androidx.test.runner.AndroidJUnitRunner
  5. Uruchom nowo utworzoną konfigurację.

Z poziomu wiersza poleceń

Uruchom to polecenie Gradle:

./gradlew connectedAndroidTest