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

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

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

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

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

הוספת יחסי תלות של אספרסו

כדי להוסיף יחסי תלות של 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:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

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

מגניב

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 באמצעות כללים:

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 > עורכים את ההגדרות האישיות.
  2. הוספת הגדרה חדשה של Android Tests.
  3. בוחרים מודול.
  4. הוספת רכיב אינסטרומנטלי ספציפי: androidx.test.runner.AndroidJUnitRunner
  5. מריצים את ההגדרות האישיות החדשות.

משורת הפקודה

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

./gradlew connectedAndroidTest