يتناول هذا الدليل تثبيت Espresso باستخدام مدير حزمة تطوير البرامج (SDK) وتصميمه باستخدام Gradle. ننصحك باستخدام "استوديو Android".
إعداد بيئة الاختبار
لتجنّب مرحها، ننصحك بشدة بإيقاف الصور المتحركة للنظام على الأجهزة الافتراضية أو المادية المستخدمة في الاختبار. على جهازك، ضمن الإعدادات > خيارات المطوّرين، أوقِف الإعدادات الثلاثة التالية:
- حجم الرسوم المتحركة للنافذة
- حجم الرسوم المتحركة للنقل
- طول مدة الرسوم المتحركة
إضافة تبعيات الإسبريسو
لإضافة تبعيات الإسبريسو إلى مشروعك، أكمل الخطوات التالية:
- افتح ملف
build.gradle
الخاص بتطبيقك. ليس هذا عادةً ملفbuild.gradle
من المستوى الأعلى، ولكنapp/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
ضبط العد التنازلي للآلات
أضِف السطر التالي في android.defaultConfig
إلى ملف build.gradle
نفسه:
رائع
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
مثال على ملف إنشاء 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') }
الإحصاءات
للتأكد من أننا على المسار الصحيح مع كل إصدار جديد، يجمع القائم بالاختبار التحليلات. وبشكل أكثر تحديدًا، فإنها تحمِّل تجزئة لاسم حزمة التطبيق الخاضع للاختبار لكل استدعاء. يتيح لنا ذلك قياس عدد الحزم الفريدة التي تستخدم قهوة الإسبريسو، وحجم الاستخدام.
إذا كنت لا تريد تحميل هذه البيانات، يمكنك إيقاف هذه الميزة من خلال تضمين الوسيطة 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 Tests جديدة.
- اختر وحدة.
- إضافة عدّاء أدوات محدّد:
androidx.test.runner.AndroidJUnitRunner
- شغِّل الإعدادات التي تم إنشاؤها حديثًا.
من سطر الأوامر
نفِّذ أمر Gradle التالي:
./gradlew connectedAndroidTest