يوضّح هذا المستند كيفية استخدام نصوص Robo البرمجية، وهي اختبارات تؤدي تلقائيًا مهام ضمان الجودة اليدوية لتطبيقات الأجهزة الجوّالة، وتتيح استراتيجيات التكامل المستمر (CI) والاختبار قبل الإطلاق. على سبيل المثال، يمكنك استخدام نصوص Robo البرمجية لاختبار تجربة مستخدم شائعة أو تقديم إدخال محدّد لواجهة المستخدم (UI)، مثل اسم مستخدم وكلمة مرور. نصوص Robo البرمجية هي ميزة في اختبار Robo.
باستخدام نصوص Robo البرمجية، يمكنك تسجيل نفسك أثناء تنفيذ سير عمل في تطبيقك، ثم تحميل هذا التسجيل إلى Firebase Console لتشغيله في اختبارات Robo. عند إجراء اختبار Robo مع إرفاق نص برمجي، ينفِّذ Robo أولاً الإجراءات التي تشتمل على نص برمجي، ثم يستكشف التطبيق كالمعتاد.
تستخدم نصوص Robo البرمجية اختبار Robo
كمحرّك للاختبار. في أبسط أشكالها، تتألف نصوص Robo البرمجية من تسلسل من إجراءات واجهة المستخدم، مثل إدخال النص "اسم المستخدم" ثم النقر على الزر "حسنًا". يمكن أن تتضمّن نصوص Robo البرمجية أيضًا إجراءات مثل انتظار ظهور عنصر، والنقر على نقطة معيّنة داخل عنصر، وتنفيذ أوامر shell في Android Debug Bridge (adb).
تتميّز نصوص Robo البرمجية بالمزايا التالية مقارنةً بأُطر الاختبار التقليدية:
| الإمكانية | الوصف |
| قوة التحمّل العالية | يمكن أن تتحمّل نصوص Robo البرمجية الاختلافات الهيكلية والسلوكية الكبيرة بين إصدارات التطبيق وتذبذب التطبيق. |
| مفتوح وغير محدد | بعد اكتمال نص Robo البرمجي، يمكن أن يتولّى اختبار Robo الأساسي زمام الأمور ويواصل اختبار التطبيق. يتيح هذا النهج المستمر للاختبار عدة حالات استخدام رئيسية. على سبيل المثال، يمكنك استخدام نص Robo برمجي لوضع تطبيق في حالة معيّنة من خلال تنفيذ عملية تسجيل دخول مخصّصة. |
| قابل للتسجيل الصوتي | لست بحاجة إلى كتابة نصوص Robo البرمجية يدويًا. يمكن تسجيلها باستخدام مسجِّل نصوص Robo البرمجية في "استوديو Android". لا يتطلّب إنشاء نصوص Robo البرمجية أو تعديلها عادةً أي معرفة بتطوير الأجهزة الجوّالة. |
| المرونة | يمكن أن تتفاعل نصوص Robo البرمجية مع عناصر واجهة المستخدم غير الأصلية الشائعة في الألعاب. |
يتم تشغيل نصوص Robo البرمجية بشكل مشروط أثناء اختبار Robo، ما يتيح للمستخدمين تحسين سلوك Robo، وعادةً ما يكون ذلك لتحقيق تغطية أكبر أو استهداف وظائف معيّنة. على عكس أُطر الاختبار التقليدية، تدعم نصوص Robo البرمجية ما يلي:
- شروط تشغيل مختلفة، على سبيل المثال، أن يكون اسم حزمة تطبيق معيّن نشطًا (أو غير نشط) أو أن يظهر عنصر معيّن على الشاشة (أو لا يظهر).
- عناصر التحكّم في التنفيذ، على سبيل المثال، الحد الأقصى لعدد عمليات التنفيذ والأولوية ومرحلة الزحف ذات الصلة.
- أنواع الإجراءات غير التقليدية (المشروطة أو التي تتجاهل العناصر أو التي تغلق الشاشة).
ننصحك باستخدام نصوص Robo البرمجية كلما أمكن ذلك لأنّه يمكن صيانتها بسهولة. على سبيل المثال، يمكنك استخدام نص Robo برمجي لإجراء ما يلي:
- التنقّل في عمليات سير عمل مهمة للوصول إلى الوظيفة الأساسية للتطبيق على سبيل المثال، يمكنك إجراء عملية تسجيل دخول، وإعداد حالة التطبيق بعد التشغيل الأول، وتسجيل مستخدم جديد.
- تركيز Robo على جزء معيّن من التطبيق لتحقيق أقصى استفادة من وقت اختبار Robo يوجّه نص Robo البرمجي اختبار Robo للوصول إلى الجزء ذي الصلة من التطبيق، حيث يستأنف اختبار Robo عملية زحف تلقائية بالكامل.
- وضع تطبيق في حالة أو شاشة معيّنة لإجراء تحليل، على سبيل المثال، لتحليل رسالة داخل التطبيق أو سياسة الخصوصية أو مستوى معيّن من اللعبة
- إجراء اختبار شامل للأجهزة، سواء استأنف اختبار Robo عملية زحف تلقائية بالكامل بعد اكتمال نص Robo البرمجي أم لا
استخدِم ميزات نصوص Robo البرمجية الأكثر تقدّمًا لإجراء ما يلي:
- تنفيذ إجراءات قبل أن يبدأ Robo في الزحف إلى التطبيق قيد الاختبار أو بعد اكتمال عملية الزحف، على سبيل المثال، تنظيف بيانات التطبيق قيد الاختبار قبل عملية الزحف أو تغيير إعدادات الجهاز
- تغيير جوانب سلوك Robo أثناء عملية الزحف، على وجه الخصوص:
- جعل Robo يتجاهل بعض أدوات واجهة المستخدم أو شاشات التطبيق
- توفير إجراء مخصّص لـ Robo لتنفيذه عند الرجوع من شاشة معيّنة
- جعل Robo ينفّذ إجراءات معيّنة كلما تم العثور على شاشة تطبيق معيّنة أثناء عملية الزحف
- تخصيص طريقة إجراء Robo لعملية الزحف بالكامل على سبيل المثال، استخدِم مجموعة من الإجراءات المشروطة وغير المشروطة لإبقاء التطبيق قيد الاختبار في الخلفية طوال عملية الزحف، مع إجراء عمليات معالجة للجهاز ورفض أي مربّعات حوار منبثقة تظهر على طول الطريق.
ضَع في اعتبارك أنّ نصوص Robo البرمجية لا تحل محل جميع أنواع الاختبارات. لا تزال بحاجة إلى اختبارات الوحدة لرصد الأخطاء المنطقية المنخفضة المستوى في تطبيقك، ولا تتطلّب هذه الاختبارات عادةً بيئة Android أو iOS. ننصحك باستكمال اختبارات نصوص Robo البرمجية باختبارات الأجهزة المستهدَفة التي يمكن أن تتضمّن تأكيدات محدّدة ومفصّلة حول منطق النشاط التجاري، والتي يتم التعبير عنها بشكل أفضل في الرمز.
تسجيل نص Robo برمجي باستخدام Test Lab في "استوديو Android"
يتيح لك مسجِّل نصوص Robo البرمجية في "استوديو Android" تسجيل نصوص Robo البرمجية من خلال التفاعل مباشرةً مع التطبيق على جهازك. اتّبِع هذه التعليمات للبدء في كتابة نصوص Robo البرمجية من خلال أداة Firebase في "استوديو Android":
افتح استوديو Android وانقر على الأدوات (Tools) -> Firebase.
في لوحة Firebase، انقر على تسجيل نص Robo برمجي واستخدامه لتوجيه اختبار Robo.
انقر على تسجيل نص Robo برمجي. يظهر مربّع الحوار "اختيار هدف النشر".
اختَر الجهاز الذي تريد تسجيل نص Robo البرمجي فيه.
بعد تسجيل نص Robo البرمجي على الجهاز، احفظ الملف كملف JSON في الموقع الجغرافي المطلوب.
افتح صفحة Test Lab في وحدة تحكم Firebase وحمِّل ملف النص البرمجي بتنسيق JSON وحزمة APK للتطبيق.
انقر على الزر متابعة. سيُطلب منك اختيار الجهاز ومستوى واجهة برمجة التطبيقات. بعد اكتمال نص الاختبار البرمجي، ينشئ Test Lab تقرير الاختبار.
(اختياري) لعرض ملف logcat لتقرير الاختبار والفيديو أو نسخهما أو تنزيلهما، انقر على عرض ملفات المصدر.
تمنع آليات قوة التحمّل في نصوص Robo البرمجية، تلقائيًا، حدوث أي خطأ مبكر.
إذا اخترت وضع التنفيذ strict وتعذّر تنفيذ نص Robo برمجي في أي وقت،
Test Lab سيتجاهل جميع الخطوات الإضافية في النص البرمجي ويستأنف عملية زحف
Robo عادية. في أغلب الأحيان، تتعذّر نصوص Robo البرمجية لأنّ Robo لا يمكنه العثور على عنصر مطلوب على الشاشة. لتجنُّب حالات التعذُّر، تأكَّد من أنّ عملية التنقّل في تطبيقك يمكن التنبؤ بها وأنّ شاشاتك تظهر بترتيب محدّد.
تشغيل نص Robo برمجي في Test Lab
لتشغيل نص Robo برمجي في Test Lab، اتّبِع هذه التعليمات:
افتح صفحة Test Lab في وحدة تحكّم Firebase.
حمِّل حزمة APK أو AAB للتطبيق في حقل حزمة APK أو AAB للتطبيق.
حمِّل ملف نص Robo البرمجي المسجَّل أو الذي تم إنشاؤه يدويًا في حقل نص Robo البرمجي (اختياري).
توفير نص Robo برمجي لتشغيل اختبار Robo محلي
لتوفير نص Robo برمجي لتشغيل اختبار Robo محلي، استخدِم خيار اختبار Robo التالي:
--robo-script-file <robo-script-path>
استبدِل <robo-script-path> بمسار إلى ملف نص Robo البرمجي في نظام الملفات المحلي. اتّبِع الـ تعليمات لتشغيل اختبار Robo محلي
تشغيل.
تحديد نص Robo برمجي في طلب اختبار باستخدام gcloud CLI
لتحديد نص Robo برمجي في طلب اختبار باستخدام gcloud CLI، استخدِم علامة gcloud CLI التالية:
--robo-script = <robo-script-path>
استبدِل <robo-script-path> بمسار إلى ملف نص Robo البرمجي في نظام الملفات المحلي
أو في Cloud Storage باستخدام الرمز gs://. على سبيل المثال:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
الخطوات التالية
- للتعرّف على بنية نصوص Robo البرمجية وإمكاناتها واستخدامها وإجراءاتها، اطّلِع على دليل مرجع نصوص Robo البرمجية.
- إجراء اختبار Robo.