הוראות להתקנת אספרסו

במדריך הזה מוסבר איך להתקין את Espresso באמצעות SDK Manager ואיך ליצור אותו באמצעות Gradle. מומלץ להשתמש ב-Android Studio.

הגדרת סביבת הבדיקה

כדי למנוע חוסר יציבות, מומלץ מאוד להשבית את האנימציות של המערכת במכשירים הווירטואליים או הפיזיים שמשמשים לבדיקה. במכשיר, בקטע הגדרות > אפשרויות למפתחים, משביתים את 3 ההגדרות הבאות:

  • קנה מידה לאנימציה של חלון
  • קנה מידה של הנפשת מעבר
  • קנה מידה למשך זמן אנימציה

הוספת יחסי תלות של Espresso

כדי להוסיף לפרויקט יחסי תלות של Espresso:

  1. פותחים את הקובץ build.gradle של האפליקציה. בדרך כלל זה לא הקובץ build.gradle ברמה העליונה, אלא app/build.gradle.
  2. מוסיפים את השורות הבאות בתוך יחסי התלות:

מגניב

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')

לרשימה המלאה של יחסי התלות של Gradle

הגדרת כלי ההרצה של המדידה

מוסיפים לאותו קובץ build.gradle את השורה הבאה ב-android.defaultConfig:

מגניב

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

קובץ build לדוגמה של Gradle

מגניב

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')
}

Analytics

כדי לוודא שאנחנו בכיוון הנכון בכל גרסה חדשה, כלי ההרצה של הבדיקות אוסף נתונים לניתוח. באופן ספציפי יותר, הוא מעלה גיבוב (hash) של שם החבילה של האפליקציה שנבדקת בכל הפעלה. כך אנחנו יכולים למדוד גם את מספר החבילות הייחודיות שמשתמשות ב-Espresso וגם את נפח השימוש.

אם אתם לא רוצים להעלות את הנתונים האלה, אתם יכולים לבטל את ההסכמה על ידי הוספת הארגומנט disableAnalytics לפקודת האינסטרומנטציה:

adb shell am instrument -e disableAnalytics true

הוספת הבדיקה הראשונה

כברירת מחדל, Android Studio יוצר בדיקות ב-src/androidTest/java/com.example.package/.

דוגמה לבדיקת JUnit4 באמצעות כללים:

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()));
    }
}

הרצת בדיקות

אתם יכולים להריץ את הבדיקות ב-Android Studio או משורת הפקודה.

ב-Android Studio

כדי ליצור הגדרת בדיקה ב-Android Studio, מבצעים את השלבים הבאים:

  1. פותחים את Run > Edit Configurations (הרצה > עריכת הגדרות אישיות).
  2. מוסיפים הגדרה חדשה של בדיקות Android.
  3. בוחרים מודול.
  4. מוסיפים כלי ספציפי להרצת אינסטרומנטציה: androidx.test.runner.AndroidJUnitRunner
  5. מריצים את ההגדרה החדשה שנוצרה.

משורת הפקודה

מריצים את הפקודה הבאה של Gradle:

./gradlew connectedAndroidTest