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