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