اختبار Robo هو أداة اختبار مدمَجة في Firebase Test Lab. يحلّل اختبار Robo بنية واجهة مستخدم تطبيقك، ثم يستكشفها بشكل منهجي، ويحاكي أنشطة المستخدمين تلقائيًا. يحاكي اختبار Robo دائمًا أنشطة المستخدم نفسها بالترتيب نفسه عند استخدامه لاختبار تطبيق على إعدادات جهاز معيّن مع الإعدادات نفسها. يتيح لك أسلوب الاختبار المتكرّر هذا استخدام "اختبار Robo" للتحقّق من صحة إصلاحات الأخطاء واختبار حالات التراجع.
تسجّل أداة Robo Test ملفات السجلّ، وتحفظ سلسلة من لقطات الشاشة التي تتضمّن تعليقات توضيحية، ثم تنشئ فيديو من لقطات الشاشة هذه لتعرض لك العمليات المحاكية التي نفّذها المستخدم. يمكن أن تساعدك هذه السجلات ولقطات الشاشة والفيديوهات في تحديد السبب الأساسي لتعطُّل التطبيق. يمكن أن تساعدك ميزات "اختبار Robo" أيضًا في العثور على مشاكل في واجهة المستخدم لتطبيقك.
بالإضافة إلى إجراء اختبارات Robo العادية، يمكنك تخصيص اختباراتك باستخدام نصوص Robo البرمجية، وهي إحدى ميزات اختبارات Robo. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة تشغيل نص Robo البرمجي.
إذا أردت تجربة الإصدار التجريبي من Robo على iOS، اطّلِع على إجراء اختبار Robo.
إحصاءات الزحف لاختبار Robo
لمساعدتك في تفسير نتائج اختبار Robo، يسجّل هذا الاختبار إحصاءات أثناء كل عملية زحف. تعرض Test Lab الإحصاءات في أعلى علامة التبويب "اختبار Robo" في صفحة نتائج الاختبار:
الإجراءات: إجمالي عدد الإجراءات التي تم تنفيذها أثناء الزحف، بما في ذلك إجراءات نص Robo البرمجي وإجراءات Monkey وتوجيهات Robo.
الأنشطة: عدد الأنشطة المختلفة التي تمّت تغطيتها أثناء الزحف
الشاشات: عدد الشاشات المختلفة التي تمت زيارتها أثناء الزحف.
تستخدم Test Lab أيضًا الإحصاءات لإنشاء تمثيل مرئي لاختبار Robo في شكل رسم بياني للزحف. يحتوي الرسم البياني على شاشات كعُقد وإجراءات كحواف. من خلال تتبُّع الحواف بين الشاشات، يمكنك الاطّلاع على كيفية تنقّل "اختبار Robo" في تطبيقك أثناء الزحف.
انتهاء مهلة اختبار Robo
استنادًا إلى مدى تعقيد واجهة المستخدم في تطبيقك، قد يستغرق اختبار Robo خمس دقائق أو أكثر لإكمال مجموعة شاملة من تفاعلات واجهة المستخدم. ننصحك بضبط مهلة الاختبار على 120 ثانية (دقيقتان) على الأقل لمعظم التطبيقات، و300 ثانية (5 دقائق) للتطبيقات المعقدة إلى حد ما. القيمة التلقائية للمهلة هي 300 ثانية (5 دقائق) للاختبارات التي يتم إجراؤها من Android Studio ووحدة تحكّم 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 اختبارات حلقات الألعاب.
التكامل مع Google Play
يمكنك استخدام اختبار Robo في Google Play Console عند تحميل ملف APK الخاص بتطبيقك ونشره باستخدام قناة الإصدار الأولي أو الإصدار التجريبي. يتم تشغيل اختبار Robo على مجموعة من الأجهزة المادية الشائعة من مواقع جغرافية مختلفة، ما يوفّر تغطية للاختبار على مستوى عوامل التصميم وإعدادات تهيئة مكونات الأجهزة المختلفة. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة استخدام تقارير الإطلاق التجريبي لتحديد المشاكل.
اختبار تسجيل الدخول إلى الحساب وإدخال نص محدّد مسبقًا
يتيح اختبار Robo تسجيل الدخول باستخدام حساب اختبار، كما يتيح إدخال نص محدّد مسبقًا في الحقول داخل تطبيقك. ولتسجيل الدخول المخصّص وإدخال نص آخر محدّد مسبقًا، يمكن لاختبار Robo إدخال نص في حقول EditText
داخل تطبيقك. ولكل سلسلة، عليك تحديد حقل EditText
باستخدام اسم مورد Android. لمزيد من المعلومات، اطّلِع على مقالة الوصول إلى الموارد.
تسجيل الدخول
تتضمّن ميزة "الاختبار الآلي" طريقتَين حصريتَين لدعم تسجيل الدخول:
تسجيل الدخول المخصّص: إذا قدّمت بيانات اعتماد حساب تجريبي، عليك إخبار Robo Test بمكان إدخالها، وتقديم بيانات الاعتماد هذه أيضًا.
تسجيل الدخول التلقائي: إذا كان تطبيقك يتضمّن شاشة تسجيل دخول تستخدم حساب Google للمصادقة، سيستخدم "اختبار Robo" حسابًا تجريبيًا على Google، ما لم تقدّم بيانات اعتماد حساب تجريبي لتسجيل الدخول المخصّص.
لتوفير بيانات اعتماد حساب الاختبار لتسجيل الدخول المخصّص، اتّبِع الخطوات التالية:
في صفحة اختيار السمات، انقر على خيارات إضافية.
ضمن بيانات اعتماد الحساب التجريبي (اختياري)، أدخِل أسماء موارد اسم المستخدم وكلمة المرور، بالإضافة إلى اسم المستخدم وكلمة المرور للحساب التجريبي.
إدخال نص مُحدّد مسبقًا
يمكنك تقديم نص إدخال مخصّص لحقول نصية أخرى يستخدمها تطبيقك. لتقديم نص إدخال لحقول إضافية، اتّبِع الخطوات التالية:
في صفحة اختيار السمات، انقر على خيارات إضافية.
ضمن حقول إضافية (اختيارية)، أدخِل اسم مورد واحدًا أو أكثر، والسلاسل التي تريد إدخالها في حقول النص المقابلة.
أخطاء في إدخال النص المحدّد مسبقًا {:#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.
الخطوات التالية
- تخصيص اختباراتك باستخدام نصوص Robo البرمجية