يتناول هذا الدليل تثبيت Espresso باستخدام أداة "إدارة حِزم تطوير البرامج (SDK)" وكيفية إنشائها. باستخدام Gradle. ننصحك باستخدام "استوديو Android".
إعداد بيئة الاختبار
لتجنب الارتباك، ننصحك بشدة بإيقاف الصور المتحركة في النظام على الأجهزة الافتراضية أو المادية المستخدمة للاختبار. على جهازك، ضمن الإعدادات > خيارات المطوّرين، أوقِف الإعدادات الثلاثة التالية:
- حجم الرسوم المتحركة للنافذة
- حجم الرسوم المتحركة للنقل
- طول مدة الرسوم المتحركة
إضافة تبعيات قهوة الإسبريسو
لإضافة تبعيات الإسبريسو إلى مشروعك، أكمل الخطوات التالية:
- افتح ملف
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') }
الإحصاءات
للتأكد من أننا على المسار الصحيح مع كل إصدار جديد، الذي يجمع التحليلات. وبشكل أكثر تحديدًا، يتم تحميل تجزئة للحزمة اسم التطبيق الذي يخضع للاختبار لكل استدعاء. هذا يسمح لنا قياس عدد الحزم الفريدة باستخدام قهوة الإسبريسو وكذلك الحجم الاستخدام.
إذا كنت لا تريد تحميل هذه البيانات، يمكنك إيقاف هذه الميزة من خلال تضمين
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