تعليمات إعداد الإسبريسو

يتناول هذا الدليل عملية تثبيت Espresso باستخدام "مدير حِزم SDK" وإنشائه باستخدام Gradle. ننصحك باستخدام "استوديو Android".

إعداد بيئة الاختبار

لتجنُّب حدوث أخطاء متقطّعة، ننصحك بشدة بإيقاف الرسوم المتحركة للنظام على الأجهزة الافتراضية أو الحقيقية المستخدَمة في الاختبار. على جهازك، ضمن الإعدادات > خيارات المطوّرين، أوقِف الإعدادات الثلاثة التالية:

  • حجم الرسوم المتحركة للنافذة
  • حجم الرسوم المتحركة للنقل
  • طول مدة الرسوم المتحركة

إضافة تبعيات Espresso

لإضافة تبعيات Espresso إلى مشروعك، أكمل الخطوات التالية:

  1. افتح ملف build.gradle التطبيق. عادةً ما يكون هذا الملف ليس ملف build.gradle المستوى الأعلى، بل app/build.gradle.
  2. أضِف الأسطر التالية داخل التبعيات:

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"، أكمِل الخطوات التالية:

  1. افتح تشغيل > تعديل الإعدادات.
  2. أضِف إعدادات جديدة لـ "اختبارات Android".
  3. اختَر وحدة.
  4. إضافة أداة تنفيذ اختبار محدّدة: androidx.test.runner.AndroidJUnitRunner
  5. نفِّذ الإعدادات التي تم إنشاؤها حديثًا.

من سطر الأوامر

نفِّذ أمر Gradle التالي:

./gradlew connectedAndroidTest