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

يتناول هذا الدليل تثبيت 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 Studio، أكمِل الخطوات التالية:

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

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

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

./gradlew connectedAndroidTest