במדריך הזה מוסבר איך להתקין את Espresso באמצעות SDK Manager ואיך ליצור אותה באמצעות Gradle. מומלץ להשתמש ב-Android Studio.
הגדרת סביבת הבדיקה
כדי למנוע בעיות, מומלץ מאוד להשבית את האנימציות של המערכת במכשירים הווירטואליים או הפיזיים שמשמשים לבדיקה. במכשיר, בקטע הגדרות > אפשרויות למפתחים, משביתים את 3 ההגדרות הבאות:
- קנה מידה לאנימציה של חלון
- קנה מידה של הנפשת מעבר
- קנה מידה למשך זמן אנימציה
הוספת יחסי תלות של Espresso
כדי להוסיף לפרויקט יחסי תלות של Espresso:
- פותחים את הקובץ
build.gradle
של האפליקציה. בדרך כלל זהו לא הקובץbuild.gradle
ברמה העליונה, אבלapp/build.gradle
. - מוסיפים את השורות הבאות בתוך יחסי התלות:
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 באמצעות כללים:
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, מבצעים את השלבים הבאים:
- פותחים את Run > Edit Configurations.
- הוספת הגדרה חדשה של Android Tests.
- בוחרים מודול.
- הוספת רכיב אינסטרומנטלי ספציפי:
androidx.test.runner.AndroidJUnitRunner
- מריצים את ההגדרה האישית החדשה שנוצרה.
משורת הפקודה
מריצים את הפקודה הבאה ב-Gradle:
./gradlew connectedAndroidTest