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

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

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

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

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

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

כדי להוסיף יחסי תלות של Espresso לפרויקט, מבצעים את השלבים הבאים:

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

Groovy

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:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

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

Groovy

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.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

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.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

ניתוח נתונים

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

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

adb shell am instrument -e disableAnalytics true

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

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

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

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