اختبار Robo هو أداة اختبار مدمجة في Firebase Test Lab. يحلّل اختبار Robo بنية واجهة المستخدم (UI) في تطبيقك، ثم يستكشفها بشكل منهجي، ويحاكي أنشطة المستخدمين تلقائيًا. يحاكي اختبار Robo دائمًا أنشطة المستخدم نفسها بالترتيب نفسه عند استخدامه لاختبار تطبيق على إعدادات جهاز معيّنة باستخدام الإعدادات نفسها. يتيح لك أسلوب الاختبار القابل للتكرار هذا استخدام اختبار Robo للتحقّق من إصلاحات الأخطاء واختبار حالات التراجع.
يلتقط اختبار Robo ملفات السجلّ ويحفظ سلسلة من لقطات الشاشة التي تتضمّن تعليقات توضيحية، ثم ينشئ فيديو من لقطات الشاشة هذه ليعرض لك عمليات المستخدم التي تمت محاكاتها. يمكن أن تساعدك هذه السجلات ولقطات الشاشة والفيديوهات في تحديد السبب الأساسي لتعطُّل التطبيق. يمكن أن تساعدك ميزات اختبار Robo هذه أيضًا في العثور على مشاكل في واجهة مستخدم تطبيقك.
بالإضافة إلى إجراء اختبارات Robo العادية، يمكنك تخصيص اختباراتك باستخدام نصوص Robo البرمجية، وهي إحدى ميزات اختبارات Robo. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تشغيل نص برمجي لبرنامج Robo.
إذا أردت تجربة الإصدار التجريبي من Robo لنظام التشغيل iOS+، يمكنك الاطّلاع على إجراء اختبار Robo.
إحصاءات الزحف لاختبار Robo
لمساعدتك في تفسير نتائج اختبار Robo، يسجّل اختبار Robo الإحصاءات أثناء كل عملية زحف تجريبية. يعرض Test Lab الإحصاءات في أعلى علامة التبويب "اختبار Robo" في صفحة نتائج الاختبار:
الإجراءات: إجمالي عدد الإجراءات التي تم تنفيذها أثناء الزحف، بما في ذلك إجراءات نصوص Robo البرمجية وإجراءات Monkey وتوجيهات Robo.
الأنشطة: عدد الأنشطة المختلفة التي تم تناولها أثناء الزحف
الشاشات: عدد الشاشات المختلفة التي تمت زيارتها أثناء الزحف
يستخدم Test Lab أيضًا الإحصاءات لإنشاء تمثيل مرئي لاختبار Robo على شكل رسم بياني للزحف. يحتوي الرسم البياني على شاشات كعُقد وإجراءات كحواف. ومن خلال تتبُّع الحواف بين الشاشات، يمكنك معرفة كيفية تنقُّل اختبار Robo في تطبيقك أثناء الزحف.
مهلة اختبار Robo
بناءً على مدى تعقيد واجهة المستخدم في تطبيقك، قد يستغرق اختبار Robo خمس دقائق أو أكثر لإكمال مجموعة شاملة من تفاعلات واجهة المستخدم. ننصح بضبط مهلة الاختبار على 120 ثانية (دقيقتَين) على الأقل لمعظم التطبيقات، و300 ثانية (5 دقائق) للتطبيقات ذات التعقيد المتوسط. القيمة التلقائية للمهلة هي 300 ثانية (5 دقائق) للاختبارات التي يتم إجراؤها من استوديو Android ووحدة تحكّم Firebase، و900 ثانية (15 دقيقة) للاختبارات التي يتم إجراؤها من سطر أوامر gcloud.
أخطاء انتهاء مهلة بدء تشغيل التطبيق
إذا استغرق تطبيقك وقتًا طويلاً لبدء التشغيل، قد يعرض اختبار Robo خطأً ولن يتمكّن من الزحف إلى تطبيقك. يحدث هذا فقط في حالات وقت بدء التشغيل الطويل للغاية، ولا يمكن حلّه إلا من خلال مراجعة تطبيقك لجعله يبدأ بشكل أسرع.
مزيد من التحكّم باستخدام نصوص Robo البرمجية
قد تحتاج أحيانًا إلى مزيد من التحكّم في اختباراتك. على سبيل المثال، قد ترغب في اختبار تجربة مستخدم شائعة أو تقديم إدخال محدد لواجهة المستخدم مثل اسم المستخدم وكلمة المرور. يمكن أن تساعد نصوص Robo البرمجية في ذلك. لمزيد من المعلومات حول نصوص Robo البرمجية، يُرجى الاطّلاع على مقالتَي تنفيذ نص Robo برمجي ودليل مرجعي لنصوص Robo البرمجية.
اختبارات Robo وعناصر واجهة المستخدم غير المتوافقة مع Android
تستخدم اختبارات Robo واجهة برمجة تطبيقات Android لتنفيذ الإجراءات على تطبيقات Android المصغّرة لواجهة المستخدم مباشرةً. يساعد ذلك الاختبارات في استكشاف واجهة المستخدم تلقائيًا، ولكنه يعني أيضًا أنّها بحاجة إلى أن تكون قادرة على استخراج تسلسل هرمي لواجهة مستخدم Android لشاشة معيّنة من أجل إجراء الاختبارات عليها.
إذا كانت إحدى الشاشات في تطبيقك لا تستخدم تطبيقات Android المصغّرة لواجهة المستخدم، فستعتمد اختبارات Robo على إجراءات Monkey لاختبار هذه الشاشة. على عكس إجراءات اختبار Robo الأكثر منهجية، تحاكي إجراءات Monkey ببساطة أحداث النقر على مواقع شبه عشوائية على شاشة الجهاز.
لاختبار الشاشات التي لا تستخدم تطبيقات واجهة مستخدم Android المصغّرة بشكل أفضل، يمكنك استبدال النقرات العشوائية لإجراء Monkey بمجموعة من النقرات والتفاعلات المبرمَجة من خلال اختبارات حلقة الألعاب في Firebase Test Lab.
التكامل مع Google Play
يمكنك استخدام اختبار Robo في Google Play Console عند تحميل ملف APK الخاص بتطبيقك ونشره باستخدام القناة الأولية أو القناة التجريبية. يتم إجراء اختبار Robo على مجموعة من الأجهزة الفعلية الشائعة من مواقع جغرافية مختلفة، ما يوفّر تغطية اختبارية على مستوى مختلف أشكال الأجهزة وإعداداتها. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة استخدام تقارير الإطلاق التجريبي لتحديد المشاكل.
تسجيل الدخول إلى الحساب التجريبي وإدخال نص محدّد مسبقًا
يتيح اختبار Robo تسجيل الدخول إلى حساب تجريبي، كما يسمح لك بإدخال نص محدّد مسبقًا في الحقول في تطبيقك. بالنسبة إلى تسجيل الدخول المخصّص وإدخال نص آخر محدّد مسبقًا، يمكن لاختبار Robo إدخال نص في حقول EditText في تطبيقك. لكل سلسلة، تحتاج إلى تحديد حقل EditText باستخدام اسم مورد Android. لمزيد من المعلومات، يُرجى الاطّلاع على
الوصول إلى الموارد.
تسجيل الدخول
يتضمّن اختبار Robo طريقتَين متعارضتَين لتسجيل الدخول:
تسجيل الدخول المخصّص: إذا قدّمت بيانات اعتماد الحساب التجريبي، عليك إخبار اختبار Robo بمكان إدخالها، وتقديم بيانات الاعتماد هذه أيضًا.
تسجيل الدخول التلقائي: إذا لم تقدّم بيانات اعتماد الحساب التجريبي لتسجيل الدخول المخصّص، سيتم استخدام تسجيل الدخول التلقائي. يمكن لاختبار Robo تسجيل الدخول تلقائيًا إلى التطبيقات التي تم إنشاؤها باستخدام تطبيقات Android المصغّرة العادية أو تطبيقات Compose، وذلك باستخدام حساب Google تجريبي.
لتقديم بيانات اعتماد الحساب التجريبي لتسجيل الدخول المخصّص، اتّبِع الخطوات التالية:
في صفحة اختيار السمات، انقر على خيارات إضافية.
ضمن بيانات اعتماد الحساب التجريبي (اختياري)، أدخِل أسماء موارد اسم المستخدم وكلمة المرور واسم المستخدم وكلمة المرور للحساب التجريبي.
إدخال نص محدّد مسبقًا
يمكنك تقديم نص مخصّص لحقول نصية أخرى يستخدمها تطبيقك. لتقديم نص لحقول إضافية، اتّبِع الخطوات التالية:
في صفحة اختيار السمات، انقر على خيارات إضافية.
ضمن حقول إضافية (اختياري)، أدخِل اسم مورد واحد أو أكثر، والسلاسل التي تريد إدخالها في الحقول النصية المقابلة.
أخطاء في إدخال النص المحدّد مسبقًا {:#predefined-text}
يبحث اختبار Robo عن حقول EditText التي تحتوي على اسم مورد Android
يطابق تعبيرًا عاديًا مقدَّمًا. إذا لم يتمكّن Robo من العثور على حقل مطابق، لن يُدخل النص، ولكنه سيواصل الزحف كالمعتاد.
الروابط العميقة
يمكنك تقديم ما يصل إلى ثلاثة روابط عميقة متوافقة مع تطبيقك للاختبار.
يتم إصدار الروابط العميقة لتطبيقك على أنّها
ACTION_VIEW
Android intents. لذلك، يجب أن يتطابق كل رابط مع intent filter في تطبيقك.
في حال توفير رابط عميق واحد أو أكثر، يتم تشغيل التطبيق أولاً
بشكل طبيعي (باستخدام
النية ACTION_MAIN)
ويتم الزحف إليه حتى انتهاء المهلة المحدّدة. بعد عملية الزحف الرئيسية، يتم الزحف إلى كل رابط لصفحة في التطبيق لمدة 30 ثانية إضافية.
أخطاء الروابط العميقة
إذا لم يتمكّن اختبار Robo من العثور على نشاط يطابق الرابط لصفحة معيّنة، Test Lab يتجاهل الرابط. تحدث مشاكل الروابط لصفحات معيّنة عادةً بسبب اختلاف بين الرابط المقدَّم وتعريفه في تطبيقك. يُرجى التحقّق من عنوان URL المقدَّم وتطبيقك بحثًا عن أخطاء إملائية أو أي اختلافات أخرى.
دعم منح تراخيص التطبيقات
يتيح تطبيق "Test Lab" استخدام التطبيقات التي تستخدم خدمة منح تراخيص التطبيقات التي يوفّرها Google Play. للتحقّق من الترخيص بنجاح عند اختبار تطبيقك باستخدام Test Lab، يجب نشر تطبيقك في قناة الإصدار العلني في متجر Google Play. لاختبار تطبيقك في القناة الأولية أو القناة التجريبية باستخدام Test Lab، عليك إزالة عملية التحقّق من الترخيص قبل تحميل تطبيقك إلى Test Lab.
الخطوات التالية
- يمكنك تخصيص الاختبارات باستخدام نصوص Robo البرمجية.