يوضّح هذا المستند كيفية استخدام نصوص Robo، وهي اختبارات تؤدي إلى أتمتة مهام ضمان الجودة اليدوية للتطبيقات المتوافقة مع الأجهزة الجوّالة، وتفعّل استراتيجية التكامل المستمر (CI) واختبار الإطلاق التجريبي. على سبيل المثال، يمكنك استخدام نصوص Robo البرمجية لاختبار رحلة مستخدم شائعة أو توفير مدخلات محدّدة لواجهة المستخدم، مثل اسم المستخدم وكلمة المرور. نصوص Robo البرمجية هي إحدى ميزات اختبار Robo.
باستخدام نصوص Robo البرمجية، يمكنك تسجيل نفسك أثناء تنفيذ سير عمل في تطبيقك، ثم تحميل هذا التسجيل إلى وحدة تحكّم Firebase لتشغيله في اختبارات Robo. عند إجراء اختبار Robo مع إرفاق نص برمجي، يبدأ Robo في تنفيذ الإجراءات التي تستلزم وصفة طبية، ثم يستكشف التطبيق كالمعتاد.
تستخدِم نصوص Robo اختبار Robo
بصفتها محرّك الاختبار. في أبسط أشكاله، يتألّف نص Robo من
تسلسل من إجراءات واجهة المستخدم، مثل إدخال النص "username" ثم النقر على زر OK. يمكن أن تتضمّن نصوص 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 البرمجية لا تستبدل جميع أنواع الاختبارات. لا تزال بحاجة إلى اختبارات الوحدة لرصد الأخطاء المنطقية من المستوى المنخفض في تطبيقك، ولا تتطلّب هذه الاختبارات عادةً بيئة 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 لتقرير الاختبار والفيديو أو تنزيله، انقر على عرض الملفات المصدر.
تمنع آليات تحسين أداء Roboscript تلقائيًا حدوث أخطاء في وقت مبكر.
إذا اخترت وضع التنفيذ strict
وتعذّر تنفيذ نص Robo برمجي في أي وقت، يتخلّىTest Lab عن جميع الخطوات الأخرى في النص البرمجي ويستأنف الزحف العادي
باستخدام Robo. غالبًا ما تخفق نصوص Robo البرمجية لأن Robo لا يمكنها العثور على عنصر مطلوب على الشاشة. لتجنُّب حدوث أعطال، تأكَّد من أنّ تنقّل المستخدمين في تطبيقك
قابل للتوقّع وأنّه يتم عرض الشاشات بترتيب محدّد.
تنفيذ نص Robo برمجي في Test Lab
لتشغيل نص Robo برمجي في Test Lab، اتّبِع التعليمات التالية:
افتح صفحة Test Lab في وحدة تحكّم Firebase.
حمِّل حِزمة APK أو AAB للتطبيق في حقل AAB أو حزمة APK للتطبيق.
حمِّل ملف نص Robo المسجّل أو الذي تم إنشاؤه يدويًا في حقل نص Robo (اختياري).
توفير نص Robo برمجي لإجراء اختبار Robo على الجهاز
لتوفير نص Robo برمجي لإجراء اختبار Robo محلي، استخدِم خيار اختبار Robo التالي:
--robo-script-file <robo-script-path>
استبدِل <robo-script-path>
بمسار إلى ملف نص Robo البرمجي في نظام الملفات المحلي. اتّبِع تعليمات إجراء اختبار Robo محلي.
تحديد نص Robo برمجي في استدعاء اختبار واجهة سطر الأوامر في gcloud CLI
لتحديد نص Robo برمجي في طلب اختبار واجهة سطر أوامر gcloud، استخدِم العلامة التالية لواجهة سطر أوامر gcloud:
--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