Instrukcje konfiguracji espresso

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:

  1. Otwórz plik build.gradle z aplikacją. Zwykle nie jest to plik build.gradle najwyższego poziomu, ale app/build.gradle.
  2. 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:

  1. Kliknij Uruchom > Edytuj konfiguracje.
  2. Dodaj nową konfigurację Android Tests.
  3. Wybierz moduł.
  4. Dodaj konkretny biegacz instrumentacji: androidx.test.runner.AndroidJUnitRunner
  5. Uruchom nowo utworzoną konfigurację.

Z poziomu wiersza poleceń

Wykonaj to polecenie Gradle:

./gradlew connectedAndroidTest