إجراء اختبار Robo (على أجهزة Android)

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

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

بالإضافة إلى إجراء اختبارات Robo العادية، يمكنك تخصيص اختباراتك باستخدام نصوص Robo البرمجية، وهي ميزة من ميزات اختبارات Robo. لمزيد من المعلومات، اطّلِع على تشغيل نص Robo البرمجي.

إذا كنت تريد تجربة الإصدار التجريبي من Robo لأجهزة iOS والإصدارات الأحدث، اطّلِع على إجراء اختبار Robo.

إحصاءات الزحف لاختبار Robo

لمساعدتك في تفسير نتائج اختبار Robo، يسجّل اختبار Robo الإحصاءات أثناء كل عملية زحف للاختبار. Test Lab تعرِض الإحصاءات في أعلى علامة تبويب "اختبار Robo" في صفحة نتائج الاختبار:

  • الإجراءات: إجمالي عدد الإجراءات التي تم تنفيذها أثناء الزحف، بما في ذلك إجراءات النصوص البرمجية لبرنامج Robo وإجراءات برنامج Monkey وتوجيهات Robo

  • الأنشطة: عدد الأنشطة المختلفة التي تمّت تغطيتها أثناء الزحف

  • الشاشات: عدد الشاشات المختلفة التي تمت زيارتها أثناء الزحف

يستخدم Test Lab أيضًا الإحصاءات لإنشاء تمثيل مرئي لاختبار Robo test في شكل رسم بياني للزحف. يتضمّن الرسم البياني الشاشات بصفتها عقدًا و الإجراءات بصفتها حوافًا. من خلال تتبُّع الحواف بين الشاشات، يمكنك الحصول على فكرة عن كيفية تنقّل اختبار Robo في تطبيقك أثناء الزحف.

مهلة اختبار Robo

استنادًا إلى مدى تعقيد واجهة مستخدم تطبيقك، قد يستغرق اختبار Robo خمس دقائق أو أكثر لإكمال مجموعة شاملة من تفاعلات واجهة المستخدم. ننصح بضبط مهلة الاختبار على 120 ثانية (دقيقتان) على الأقل لمعظم التطبيقات، و300 ثانية (5 دقائق) للتطبيقات المعقّدة إلى حدٍ ما. القيمة التلقائية للمهلة هي 300 ثانية (5 دقائق) للاختبارات التي يتم تشغيلها من Android Studio وconsole Firebase، و900 ثانية (15 دقيقة) للاختبارات التي يتم تشغيلها من سطر الأوامر gcloud.

أخطاء وقت الاستراحة في بدء تشغيل التطبيق

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

إمكانية التحكّم بشكل أكبر باستخدام نصوص Robo البرمجية

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

اختبارات Robo وتطبيقات Android المصغّرة لواجهة المستخدم

تستخدِم اختبارات Robo واجهة برمجة تطبيقات Android لتنفيذ إجراءات على التطبيقات المصغّرة لواجهة مستخدِم Android بشكل مباشر. يساعد ذلك الاختبارات في استكشاف واجهة المستخدم تلقائيًا، ولكن يعني ذلك أيضًا أنّها يجب أن تكون قادرة على استخراج التسلسل الهرمي لواجهة مستخدم Android لشاشة معيّنة كي تتمكّن من إجراء الاختبارات عليها.

إذا كانت إحدى الشاشات في تطبيقك لا تستخدم التطبيقات المصغّرة لواجهة مستخدم Android، تعتمد اختبارات Robo على Monkey Actions لاختبار هذه الشاشة. على عكس إجراءات اختبار Robo التي تتبع منهجًا أكثر منهجية، تحاكي إجراءات Monkey ببساطة أحداث النقر في مواضع شبه عشوائية على شاشة الجهاز.

لاختبار الشاشات التي لا تستخدم التطبيقات المصغّرة لواجهة مستخدم Android بشكلٍ أفضل، يمكنك استبدال النقرات العشوائية لإحدى إجراءات Monkey بمجموعة من النقرات والتفاعلات المبرمَجة من خلال Firebase Test Lab اختبارات حلقة الألعاب.

الدمج مع Google Play

يمكنك استخدام اختبار Robo في Google Play Console عند تحميل ملف APK لتطبيقك و نشره باستخدام القناة التجريبية أو الإصدار التجريبي. يتم تنفيذ اختبار Robo على مجموعة من الأجهزة المادية الشائعة من مواقع جغرافية مختلفة، ويوفّر تغطية الاختبار على مختلف أشكال الأجهزة وإعدادات الأجهزة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة استخدام تقارير الإطلاق التجريبي لتحديد المشاكل.

اختبار تسجيل الدخول إلى الحساب وإدخال نص محدّد مسبقًا

يتيح اختبار Robo تسجيل الدخول إلى الحساب التجريبي، كما يتيح لك إدخال ملف شخصي مُحدَّد مسبقًا في الحقول في تطبيقك. بالنسبة إلى تسجيل الدخول المخصّص وعمليات إدخال الملف الشخصي المُحدَّد مسبقًا وغيرها، يمكن لاختبار Robo إدخال ملف شخصي في حقول EditText في تطبيقك. ولكل سلسلة، عليك تحديد حقل EditText باستخدام اسم مورد Android. لمزيد من المعلومات، اطّلِع على مقالة الوصول إلى الموارد.

تسجيل الدخول

يتضمّن اختبار Robo طريقتَين متعارضتَين لتمكين تسجيل الدخول:

  • تسجيل الدخول المخصّص: في حال تقديم بيانات اعتماد الحساب التجريبي، عليك إخبار اختبار Robo بالمكان الذي يجب إدخالها فيه، وتقديم بيانات الاعتماد هذه أيضًا.

  • تسجيل الدخول تلقائيًا: إذا كان تطبيقك يتضمّن شاشة تسجيل دخول تستخدِم حسابًا على Google للمصادقة، سيستخدِم اختبار Robo حسابًا تجريبيًا على Google، ما لم يتم تقديم بيانات اعتماد الحساب التجريبي لتسجيل الدخول المخصّص.

لتقديم بيانات اعتماد حساب الاختبار لميزة "تسجيل الدخول المخصّص"، اتّبِع الخطوات التالية:

  1. في صفحة اختيار السمات، اختَر خيارات إضافية.

  2. ضمن بيانات اعتماد الحساب التجريبي (اختياري)، أدخِل أسماء موارد اسم المستخدم وكلمة المرور واسم المستخدم وكلمة المرور للحساب التجريبي.

إدخال نص محدّد مسبقًا

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

  1. في صفحة اختيار السمات، اختَر خيارات إضافية.

  2. ضمن الحقول الإضافية (اختيارية)، أدخِل اسمًا واحدًا أو أكثر من أسماء الموارد، والسلاسل المطلوب إدخالها في حقول النصوص المقابلة.

أخطاء الإدخال النصي المحدّد مسبقًا {:#predefined-text}

يبحث اختبار Robo عن حقول EditText التي تحتوي على اسم مورد Android يليق بتعبير عادي مُقدَّم. إذا لم يعثر Robo على حقل مطابق، لا يُدخل النص، ولكن يواصل الزحف كالمعتاد.

يمكنك تقديم ما يصل إلى ثلاثة روابط لصفحات في التطبيق يتوافق تطبيقك معها لاختبارها. يتم إصدار الروابط لصفحات في التطبيق على أنّها أهداف برمجية لنظام التشغيل Android ACTION_VIEW. لذلك، يجب أن يتطابق كل رابط مع فلتر أهداف في تطبيقك.

في حال توفّر رابط واحد أو أكثر لصفحة في التطبيق، يتم أولاً تشغيل التطبيق بشكل طبيعي (باستخدام ملف ACTION_MAIN الهدف) ويتم الزحف إليه إلى أن يصل إلى مهلة الانتظار المحدّدة. بعد الزحف الرئيسي، يتم الزحف إلى كل رابط لصفحة في التطبيق لمدة 30 ثانية إضافية.

إذا لم يتمكّن اختبار Robo من العثور على نشاط يتطابق مع الرابط لصفحة في تطبيقك، Test Lab يتجاهل الرابط. تحدث مشاكل الروابط لصفحات في التطبيق عادةً نتيجةً لعدم تطابق بين الرابط المقدَّم وتعريفه في تطبيقك. لذا، تحقَّق من كلاً من عنوان URL المقدَّم وتطبيقك بحثًا عن أخطاء إملائية أو أيّ تناقضات أخرى.

دعم ترخيص التطبيقات

Test Lab متوافقة مع التطبيقات التي تستخدم خدمة ترخيص التطبيقات التي يوفّرها Google Play. للتحقّق من الترخيص بنجاح عند اختبار تطبيقك باستخدام Test Lab، يجب نشر تطبيقك في قناة الإصدار العلني في "متجر Play". لاختبار تطبيقك في قناة الإصدار الأولي أو الإصدار التجريبي باستخدام Test Lab، عليك إزالة عملية التحقّق من الترخيص قبل تحميل تطبيقك إلى Test Lab.

الخطوات التالية