Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

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

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

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

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

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

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

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

مهلة اختبار Robo

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

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

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

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

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

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

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

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

أخطاء نصية Robo

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

اختبارات 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 من العثور على حقل مطابق ، فلن يقوم بإدخال النص الخاص بك ، ولكنه بخلاف ذلك يواصل الزحف كالمعتاد.

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

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

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

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

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

مشاكل معروفة

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

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