تشغيل نص Robo برمجي (على Android)

يوضِّح هذا المستند طريقة استخدام نصوص Robo البرمجية، وهي اختبارات تنفّذ مهام تأكيد الجودة اليدوية لتطبيقات الأجهزة الجوّالة وتفعِّل استراتيجيات التكامل المستمر (CI) واستراتيجيات اختبار الإطلاق التجريبي. على سبيل المثال، يمكنك استخدام نصوص Robo البرمجية لاختبار رحلة مستخدم شائعة أو توفير مدخلات محدّدة لواجهة المستخدم، مثل اسم المستخدم وكلمة المرور. نصوص Robo البرمجية هي إحدى ميزات اختبار Robo.

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

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

  1. افتح استوديو Android واختَر الأدوات -> Firebase.

  2. في جزء Firebase، انقر على تسجيل نص Robo البرمجي واستخدامه لتوجيه اختبار Robo.

  3. انقر على تسجيل نص Robo البرمجي. سيظهر مربّع الحوار "اختيار هدف النشر"

  4. اختَر الجهاز الذي تريد تسجيل نص Robo البرمجي فيه.

  5. بعد تسجيل نص Robo البرمجي في الجهاز، احفظ الملف كملف JSON في المكان المطلوب.

  6. افتح صفحة Test Lab في وحدة تحكم Firebase وحمّل ملف نص برمجي JSON وتطبيق APK.

  7. انقر على زر متابعة. سيُطلب منك اختيار الجهاز ومستوى واجهة برمجة التطبيقات بعد اكتمال النص البرمجي للاختبار، ينشئ Test Lab تقرير الاختبار.

  8. (اختياري) لنسخ أو تنزيل سجلّ تقرير الاختبار والفيديو، انقر على عرض ملفات المصدر.

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

تشغيل نص Robo برمجي في Test Lab

لتشغيل نص Robo برمجي في Test Lab، اتّبِع التعليمات التالية:

  1. افتح صفحة Test Lab في وحدة تحكُّم Firebase.

  2. حمِّل حِزمة APK أو AAB للتطبيق في حقل AAB أو حزمة APK للتطبيق.

  3. حمِّل ملف نص 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>

الخطوات اللاحقة