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