يتناول هذا الدليل عملية تثبيت Espresso باستخدام "مدير حِزم SDK" وإنشائه باستخدام Gradle. ننصحك باستخدام "استوديو Android".
إعداد بيئة الاختبار
لتجنُّب حدوث أخطاء متقطّعة، ننصحك بشدة بإيقاف الرسوم المتحركة للنظام على الأجهزة الافتراضية أو الحقيقية المستخدَمة في الاختبار. على جهازك، ضمن الإعدادات > خيارات المطوّرين، أوقِف الإعدادات الثلاثة التالية:
- حجم الرسوم المتحركة للنافذة
- حجم الرسوم المتحركة للنقل
- طول مدة الرسوم المتحركة
إضافة تبعيات 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"
مثال على ملف تصميم 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" أو من سطر الأوامر.
في "استوديو Android"
لإنشاء إعدادات تجريبية في "استوديو Android"، أكمِل الخطوات التالية:
- افتح تشغيل > تعديل الإعدادات.
- أضِف إعدادات جديدة لـ "اختبارات Android".
- اختَر وحدة.
- إضافة أداة تنفيذ اختبار محدّدة:
androidx.test.runner.AndroidJUnitRunner
- نفِّذ الإعدادات التي تم إنشاؤها حديثًا.
من سطر الأوامر
نفِّذ أمر Gradle التالي:
./gradlew connectedAndroidTest