ابدأ باختبارات Robo

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

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

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

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

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

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

مهلة اختبار Robo

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

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

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

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

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

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

ابدأ باستخدام برمجة Robo النصية من خلال أداة Firebase في Android Studio:

  1. افتح Android Studio.
  2. في القائمة الرئيسية، اختر أدوات> Firebase.
  3. حدد اختبار مختبر وانقر فوق تسجيل روبو سيناريو واستخدامه لدليل روبو اختبار.
  4. اتبع باقي الخطوات في الأداة لتسجيل نص Robo النصي الخاص بك.
  5. قم بتحميل برنامج Robo Script هذا إلى مختبر الاختبار وابدأ الاختبار.

أخطاء نصية Robo

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

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

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

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

إلى شاشات اختبار أفضل أن لا تستخدم الحاجيات الروبوت UI، يمكنك استبدال صنابير التعسفي من العمل القرد مع مجموعة من الصنابير والتفاعلات كتابتها من خلال الاختبارات Firebase اختبار مختبر لعبة حلقة .

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

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

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

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

تسجيل الدخول

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مشاكل معروفة

يحتوي اختبار Robo حاليًا على القيود المعروفة التالية:

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