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

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

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

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

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

تسجيل اختبار إسبرسو

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

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

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

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

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

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

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

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

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

تؤكد التأكيدات على وجود عنصر عرض أو محتواه من خلال ثلاثة أنواع رئيسية:

  • text is: للتحقّق من المحتوى النصي في عنصر العرض المحدّد.
  • exists: يتحقّق من توفّر عنصر "العرض" في العرض الهرمي الحالي للملف الشخصي الذي يظهر على الشاشة.
  • غير متوفر: يتحقّق من عدم توفّر عنصر "العرض" في التدرّج الهرمي "للعرض" الحالي.

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

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

تعرض لقطة الشاشة في الشكل 2 تأكيد "النص هو" الذي يتم إنشاؤه للتحقق من أن عنوان الملاحظة هو "اختبار سعيد!":

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

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

حفظ تسجيل

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

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

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

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

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

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

الشكل 3. نموذج للمخرجات في نافذة التشغيل بعد إجراء اختبار Espresso محليًا

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

يمكنك إجراء اختبار Espresso باستخدام أداة Firebase Test Lab لنظام Android

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

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