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

يتناول هذا الدليل تثبيت Espresso باستخدام "مدير حِزم تطوير البرامج (SDK)" وإنشاءه باستخدام Gradle. ننصحك باستخدام "استوديو Android".

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

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

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

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

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

  1. افتح ملف build.gradle الخاص بتطبيقك. لا يكون هذا عادةً ملف build.gradle ذي المستوى الأعلى، ولكن ملف app/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 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 Studio أو من سطر الأوامر.

في "استوديو Android"

لإنشاء إعدادات اختبار في "استوديو Android"، أكمِل الخطوات التالية:

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

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

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

./gradlew connectedAndroidTest