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

يتناول هذا الدليل كيفية تثبيت Espresso باستخدام أداة SDK Manager وإنشائه باستخدام Gradle. ننصحك باستخدام "استوديو Android".

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

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

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

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

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

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

أنيق

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

  1. افتح Run > Edit Configurations (تشغيل > تعديل الإعدادات).
  2. أضِف إعدادات جديدة لاختبارات Android.
  3. اختَر وحدة.
  4. إضافة مشغّل قياس أداء محدّد: androidx.test.runner.AndroidJUnitRunner
  5. شغِّل الإعدادات التي تم إنشاؤها حديثًا.

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

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

./gradlew connectedAndroidTest