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