إنشاء اختبارات واجهة المستخدم باستخدام Espresso Test Recorder

تتيح لك أداة "مسجّل اختبارات Espresso" إنشاء اختبارات لواجهة المستخدم لتطبيقك بدون كتابة أي رمز برمجي للاختبار. من خلال تسجيل سيناريو اختبار، يمكنك تسجيل تفاعلاتك مع جهاز وإضافة تأكيدات للتحقّق من عناصر واجهة المستخدم في لقطات معيّنة من تطبيقك. بعد ذلك، تأخذ أداة Espresso Test Recorder التسجيل المحفوظ وتنشئ تلقائيًا اختبارًا مطابقًا لواجهة المستخدم يمكنك تنفيذه لاختبار تطبيقك.

يكتب "مسجّل اختبار Espresso" الاختبارات استنادًا إلى إطار عمل اختبار Espresso، وهو واجهة برمجة تطبيقات ضمن AndroidX Test. تشجّعك واجهة برمجة التطبيقات Espresso API على إنشاء اختبارات موجزة وموثوقة لواجهة المستخدم استنادًا إلى إجراءات المستخدم. من خلال تحديد التوقّعات والتفاعلات والتأكيدات بدون الوصول مباشرةً إلى الأنشطة وطرق العرض الأساسية للتطبيق، يمنع هذا البناء حدوث أخطاء متقطّعة في الاختبار ويحسّن سرعة تنفيذ الاختبار.

إيقاف الصور المتحركة على جهاز الاختبار

قبل استخدام "أداة تسجيل اختبارات Espresso"، تأكَّد من إيقاف الرسوم المتحركة على جهاز الاختبار لتجنُّب نتائج غير متوقّعة. اتّبِع تعليمات إعداد Espresso، ولكن لاحظ أنّه ليس عليك ضبط مرجع التبعية يدويًا لمكتبة Espresso لأنّ "أداة تسجيل الاختبار" تفعل ذلك تلقائيًا عند حفظ تسجيل. يجب تنفيذ هذه الخطوات مرة واحدة فقط لكل مشروع.

تسجيل اختبار Espresso

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

سيتناول هذا القسم كيفية إنشاء هذين المكوّنين التجريبيين باستخدام "أداة تسجيل اختبارات Espresso"، بالإضافة إلى كيفية حفظ التسجيل المكتمل لإنشاء الاختبار.

تسجيل التفاعلات مع واجهة المستخدم

لبدء تسجيل اختبار باستخدام أداة Espresso Test Recorder، اتّبِع الخطوات التالية:

  1. انقر على تشغيل > تسجيل اختبار Espresso.
  2. في نافذة اختيار جهاز النشر، اختَر الجهاز الذي تريد تسجيل الاختبار عليه. إذا لزم الأمر، أنشئ جهاز Android افتراضيًا جديدًا. انقر على حسنًا.
  3. يؤدي تطبيق Espresso Test Recorder إلى تشغيل إصدار من مشروعك، ويجب تثبيت التطبيق وتشغيله قبل أن يسمح لك تطبيق Espresso Test Recorder بالتفاعل معه. تظهر نافذة تسجيل الاختبار بعد تشغيل التطبيق، وبما أنّك لم تتفاعل مع الجهاز بعد، ستظهر في اللوحة الرئيسية الرسالة "لم يتم تسجيل أي أحداث بعد". تفاعَل مع جهازك لبدء تسجيل أحداث مثل إجراءات "النقر" و "الكتابة".

ملاحظة: قبل أن تتمكّن من بدء تسجيل التفاعلات، قد يظهر لك مربع حوار على جهازك بعنوان "في انتظار مصحّح الأخطاء" أو "جارٍ ربط مصحّح الأخطاء". تستخدِم أداة Espresso Test Recorder أداة تصحيح الأخطاء لتسجيل أحداث واجهة المستخدم. عند ربط أداة تصحيح الأخطاء، سيتم إغلاق مربع الحوار تلقائيًا، لذا لا تنقر على فرض الإغلاق.

ستظهر التفاعلات المسجّلة في اللوحة الرئيسية في نافذة تسجيل الاختبار، كما هو موضّح في الشكل 1 أدناه. عند تشغيل الاختبار، سيحاول اختبار Espresso تنفيذ هذه الإجراءات بالترتيب نفسه.

الشكل 1. نافذة تسجيل الاختبار التي تتضمّن تفاعلات واجهة المستخدم المسجَّلة

إضافة تأكيدات للتحقّق من عناصر واجهة المستخدم

تتحقّق التأكيدات من وجود عنصر View أو محتواه من خلال ثلاثة أنواع رئيسية:

  • النص هو: يتحقّق من المحتوى النصي لعنصر "العرض" المحدّد
  • exists: للتحقّق من أنّ عنصر View متوفّر في التسلسل الهرمي الحالي لـ View الظاهر على الشاشة
  • غير موجود: يتحقّق من أنّ عنصر العرض غير متوفّر في التسلسل الهرمي الحالي للعرض

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

  1. انقر على إضافة تأكيد. يظهر مربّع حوار لقطة شاشة أثناء حصول Espresso على التسلسل الهرمي لواجهة المستخدم ومعلومات أخرى حول حالة التطبيق الحالية. يتم إغلاق مربّع الحوار تلقائيًا بعد أن تلتقط Espresso لقطة الشاشة.
  2. يظهر تخطيط للشاشة الحالية في لوحة على يسار نافذة تسجيل الاختبار. لاختيار عنصر View لإنشاء تأكيد عليه، انقر على العنصر في لقطة الشاشة أو استخدِم القائمة المنسدلة الأولى في مربّع تعديل التأكيد في أسفل النافذة. يتم تمييز عنصر View المحدّد في مربّع أحمر.
  3. اختَر التأكيد الذي تريد استخدامه من القائمة المنسدلة الثانية في مربّع تعديل التأكيد. يملأ Espresso القائمة بتأكيدات صالحة لعنصر View المحدّد.
    • إذا اخترت تأكيد "النص هو"، سيُدرج Espresso تلقائيًا النص الحالي داخل عنصر View المحدّد. يمكنك تعديل النص ليطابق التأكيد المطلوب باستخدام حقل النص في مربّع تعديل التأكيد.
  4. انقر على حفظ وإضافة بيان آخر لإنشاء بيان آخر أو انقر على حفظ البيان لإغلاق لوحات البيانات.

تعرض لقطة الشاشة في الشكل 2 تأكيدًا على أنّ "النص هو" يتم إنشاؤه للتحقّق من أنّ عنوان الملاحظة هو "Happy Testing!":

الشكل 2. مربّع تعديل التأكيد بعد تحديد عنصر View (باللون الأحمر)

أثناء إنشاء تأكيد، يمكنك مواصلة التفاعل مع تطبيقك، حتى إذا كانت لوحات التأكيد لا تزال مفتوحة ضمن نافذة تسجيل الاختبار. سيواصل تطبيق Espresso Test Recorder تسجيل إجراءاتك، ولكن سيظهر التأكيد الذي تعدّله قبل هذه التفاعلات بعد حفظه. تحتفظ لقطة الشاشة الخاصة ببيان الصحة أيضًا بالتصميم الذي كان معروضًا على الجهاز أو المحاكي عند النقر على الزر إضافة بيان الصحة.

حفظ تسجيل

بعد الانتهاء من التفاعل مع تطبيقك وإضافة تأكيدات، اتّبِع الخطوات التالية لحفظ التسجيل وإنشاء اختبار Espresso:

  1. انقر على إكمال التسجيل. ستظهر النافذة اختيار اسم لفئة اختبارية.
  2. يمنح "مسجّل اختبارات Espresso" اختبارك اسمًا فريدًا ضمن حزمته استنادًا إلى اسم النشاط الذي تم إطلاقه. استخدِم حقل النص اسم فئة الاختبار إذا أردت تغيير الاسم المقترَح. انقر على حفظ.
    • إذا لم تكن قد أضفت تبعيات Espresso إلى تطبيقك، سيظهر مربع الحوار Missing Espresso dependencies عند محاولة حفظ الاختبار. انقر على نعم لإضافة التبعيات تلقائيًا إلى ملف build.gradle.
  3. يتم فتح الملف تلقائيًا بعد أن ينشئه "أداة تسجيل اختبارات Espresso"، ويعرض "استوديو Android" فئة الاختبار على أنّها محدّدة في نافذة المشروع الخاصة ببيئة التطوير المتكاملة.
    • يعتمد مكان حفظ الاختبار على موقع جذر اختبار الأجهزة، بالإضافة إلى اسم حزمة النشاط الذي تم إطلاقه. على سبيل المثال، يتم حفظ اختبارات تطبيق اختبار الملاحظات في المجلد src > androidTest > java > com.example.username.appname الخاص بوحدة التطبيق التي سجّلت الاختبار عليها.

إجراء اختبار Espresso محليًا

لتشغيل اختبار Espresso، استخدِم نافذة المشروع على الجانب الأيمن من بيئة تطوير Android Studio المتكاملة:

  1. افتح مجلد وحدة التطبيق المطلوبة وانتقِل إلى الاختبار الذي تريد تنفيذه. يعتمد موقع الاختبار على موقع جذر اختبار الأجهزة واسم حزمة النشاط الذي تم إطلاقه. توضّح الأمثلة التالية المكان الذي سيتم فيه حفظ الاختبار في تطبيق اختبار الملاحظات:
    • إذا كنت تستخدم طريقة عرض Android ضمن النافذة، انتقِل إلى java > com.example.username.appname (androidTest).
    • إذا كنت تستخدم طريقة العرض المشروع داخل النافذة، انتقِل إلى src > androidTest > java > com.example.username.appname ضمن مجلد الوحدة.
  2. انقر بزر الماوس الأيمن على الاختبار، ثم انقر على تشغيل "اسم الاختبار".
    • بدلاً من ذلك، يمكنك فتح ملف الاختبار والنقر بزر الماوس الأيمن على فئة الاختبار أو طريقة الاختبار التي تم إنشاؤها. يمكنك الاطّلاع على مزيد من المعلومات عن كيفية إجراء الاختبارات على صفحة اختبار تطبيقك.
  3. في نافذة اختيار هدف النشر، اختَر الجهاز الذي تريد إجراء الاختبار عليه. إذا لزم الأمر، أنشئ جهاز Android افتراضيًا جديدًا. انقر على حسنًا.

يمكنك مراقبة مستوى تقدُّم الاختبار في نافذة التشغيل (Run) في أسفل بيئة التطوير المتكاملة. ينفّذ "استوديو Android" إصدارًا كاملاً من مشروعك ويفتح علامة تبويب باسم الاختبار في نافذة التشغيل، كما هو موضّح في الشكل 3. يمكنك في علامة التبويب هذه معرفة ما إذا كان الاختبار ناجحًا أم لا، بالإضافة إلى المدة التي استغرقها. عند انتهاء الاختبار، سيسجّل علامة التبويب الرسالة "تم إجراء الاختبارات حتى نهايتها".

الشكل 3 مثال على الناتج في نافذة التشغيل بعد تشغيل اختبار Espresso محليًا

لمزيد من المعلومات حول كتابة إعدادات تشغيل الاختبار، يمكنك الاطّلاع على قسم "تحديد إعدادات اختبار لفئة أو طريقة" في مقالة إنشاء إعدادات التشغيل/تصحيح الأخطاء وتعديلها.

إجراء اختبار Espresso باستخدام مختبر Firebase الافتراضي لنظام التشغيل Android

يمكنك استخدام الاختبارات التي تم إنشاؤها بواسطة أداة Espresso Test Recorder مع مركز الاختبار الافتراضي لمنصة Firebase لاختبار تطبيقك على السحابة الإلكترونية على مئات من إعدادات الأجهزة. لا يتم تحصيل أي رسوم مقابل اختبار تطبيقك باستخدام Test Lab ضمن الحصة اليومية المجانية في خطة Spark. لتنفيذ اختبارات Espresso باستخدام "مختبر Firebase الافتراضي"، عليك إنشاء مشروع على Firebase لتطبيقك، ثم اتّباع التعليمات لتنفيذ اختباراتك باستخدام "مختبر Firebase الافتراضي" من "استوديو Android".

الشكل 4 نموذج للناتج في نافذة التشغيل بعد إجراء اختبار باستخدام مركز الاختبار الافتراضي لمنصة Firebase على أجهزة متعددة