Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

قم بإجراء اختبار Robo

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

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

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

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

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

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

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

مهلة اختبار Robo

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

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

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

مزيد من التحكم مع نصوص Robo

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

اختبارات Robo وأدوات واجهة مستخدم بخلاف Android

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

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

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

التكامل مع جوجل بلاي

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

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

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

تسجيل الدخول

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

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

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

لتوفير بيانات اعتماد حساب اختباري لتسجيل الدخول المخصص ، قم بما يلي:

  1. في صفحة تحديد الأبعاد ، اختر خيارات إضافية .

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

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

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

  1. في صفحة تحديد الأبعاد ، اختر خيارات إضافية .

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

أخطاء إدخال نص محدد مسبقًا

يبحث اختبار 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 حاليًا على القيود المعروفة التالية:

  • دعم إطار عمل واجهة المستخدم: اختبار Robo متوافق فقط مع التطبيقات التي تستخدم عناصر واجهة المستخدم من إطار عمل واجهة مستخدم Android (بما في ذلك كائنات View و ViewGroup ، ولكن باستثناء كائنات WebView ). إذا كنت تستخدم اختبار Robo لممارسة التطبيقات التي تستخدم أطر عمل أخرى لواجهة المستخدم ، بما في ذلك التطبيقات التي تستخدم محرك ألعاب Unity ، فقد يتم إنهاء الاختبار دون استكشاف ما وراء الشاشة الأولى.
  • اختبار Captcha لتسجيل الدخول: لا يمكن لاختبار Robo تجاوز شاشات تسجيل الدخول التي تتطلب إجراءً إضافيًا من المستخدم يتجاوز إدخال بيانات الاعتماد لتسجيل الدخول ، على سبيل المثال ، إكمال اختبار Captcha.

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