يغطّي هذا الدليل تثبيت Espresso باستخدام SDK Manager وإنشاؤه باستخدام Gradle. ننصحك باستخدام "استوديو Android".
إعداد بيئة الاختبار
لتجنُّب حدوث مشاكل في الاختبارات، ننصحك بشدة بإيقاف الرسوم المتحركة للنظام على الأجهزة الافتراضية أو الفعلية المستخدَمة للاختبار. على جهازك، ضمن الإعدادات > خيارات المطوّرين ، أوقِف الإعدادات الثلاثة التالية:
- سرعة الصور المتحركة للنافذة
- سرعة الصور المتحركة للنقل
- طول مدة الرسوم المتحركة
إضافة تبعيات Espresso
لإضافة تبعيات Espresso إلى مشروعك، أكمِل الخطوات التالية:
- افتح ملف
build.gradleلتطبيقك. عادةً ما يكون هذا الملف هوapp/build.gradleوليس ملفbuild.gradleعلى المستوى الأعلى. - أضِف الأسطر التالية داخل التبعيات:
أنيق
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"
مثال على ملف تصميم Gradle
أنيق
plugins { id 'com.android.application' } android { compileSdkVersion 36 defaultConfig { applicationId "com.my.awesome.app" minSdkVersion 23 targetSdkVersion 36 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(36) defaultConfig { applicationId = "com.my.awesome.app" minSdkVersion(23) targetSdkVersion(36) 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" الاختبارات تلقائيًا في 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" أو من سطر الأوامر.
في "استوديو Android"
لإنشاء إعداد اختبار في "استوديو Android"، أكمِل الخطوات التالية:
- افتح تشغيل > تعديل الإعدادات.
- أضِف إعدادًا جديدًا لاختبارات Android.
- اختَر وحدة.
- أضِف أداة تشغيل أجهزة قياس معيّنة:
androidx.test.runner.AndroidJUnitRunner - شغِّل الإعداد الذي تم إنشاؤه حديثًا.
من سطر الأوامر
نفِّذ أمر Gradle التالي:
./gradlew connectedAndroidTest