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

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

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

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

إذا أردت تجربة الإصدار التجريبي من Robo على iOS، اطّلِع على تشغيل اختبار Robo.

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

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

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

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

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

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

انتهاء مهلة اختبار Robo

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

أخطاء انتهاء المهلة عند بدء تشغيل التطبيق

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

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

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

اختبارات Robo وعناصر واجهة المستخدم غير التابعة لنظام التشغيل Android

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

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

لاختبار الشاشات التي لا تستخدم أدوات واجهة مستخدم Android بشكل أفضل، يمكنك استبدال النقرات العشوائية التي تنفّذها Monkey Action بمجموعة من النقرات والتفاعلات المكتوبة في نص برمجي من خلال Firebase Test Lab اختبارات Game Loop.

التكامل مع Google Play

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

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

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

تسجيل الدخول

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

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

  • تسجيل الدخول تلقائيًا: إذا لم تقدّم بيانات اعتماد حساب تجريبي لتسجيل الدخول المخصّص، سيتم استخدام ميزة "تسجيل الدخول تلقائيًا". يمكن أن تسجّل أداة Robo Test الدخول تلقائيًا إلى التطبيقات التي تم إنشاؤها باستخدام تطبيقات Android المصغّرة العادية أو تطبيقات Compose، وذلك باستخدام حساب تجريبي على Google.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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