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