Instrukcje konfiguracji espresso

Ten przewodnik opisuje instalowanie Espresso za pomocą SDK Manager i kompilowanie go za pomocą Gradle. Zalecamy Android Studio.

Konfigurowanie środowiska testowego

Aby uniknąć niestabilności, zdecydowanie zalecamy wyłączenie animacji systemowych na urządzeniach wirtualnych lub urządzeniach fizycznych 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

Dodawanie zależności Espresso

Aby dodać do projektu zależności Espresso, 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:

Dynamiczny

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

Ustawianie modułu uruchamiającego instrumentację

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

Dynamiczny

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Przykładowy plik kompilacji Gradle

Dynamiczny

plugins {
  id 'com.android.application'
}

android {
    compileSdkVersion 36

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 23
        targetSdkVersion 36
        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(36)

    defaultConfig {
        applicationId = "com.my.awesome.app"
        minSdkVersion(23)
        targetSdkVersion(36)
        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')
}

Analityka

Aby mieć pewność, że każda nowa wersja działa prawidłowo, moduł uruchamiający testy zbiera statystyki. Dokładniej rzecz ujmując, przy każdym wywołaniu przesyła on skrót nazwy pakietu testowanej aplikacji. Dzięki temu możemy mierzyć zarówno liczbę unikalnych pakietów korzystających z Espresso, jak i wielkość wykorzystania.

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

Dodawanie pierwszego testu

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 Run > Edit Configurations (Uruchom > Edytuj konfiguracje).
  2. Dodaj nową konfigurację testów Androida.
  3. Wybierz moduł.
  4. Dodaj konkretny moduł uruchamiający instrumentację: androidx.test.runner.AndroidJUnitRunner
  5. Uruchom nowo utworzoną konfigurację.

W wierszu poleceń

Uruchom to polecenie Gradle:

./gradlew connectedAndroidTest