موظّف دعم اختبار التطبيقات (لنظام التشغيل Android)

"وكيل اختبار التطبيق" هو وكيل لإنشاء حالات الاختبار وإدارتها وتنفيذها، وهو يستند إلى Gemini في Firebase. يمكنك تحديد أهداف الاختبار بلغة طبيعية، ويستخدم الوكيل الذكاء الاصطناعي لفهم تطبيقك والتنقّل فيه ومحاكاة تفاعلات المستخدمين وتقديم نتائج اختبار مفصّلة.

الطريقة التي يستخدم بها وكيل "اختبار التطبيق" بياناتك

يتم توفير وكيل "اختبار التطبيقات" من خلال Gemini في Firebase ويخضع للأحكام نفسها. يمكنك الاطّلاع على كيفية استخدام Gemini في Firebase لبياناتك لمزيد من المعلومات حول كيفية استخدام Gemini في Firebase لبياناتك.

قبل البدء

سجِّل تطبيقك في Firebase إذا لم يسبق لك إجراء ذلك.

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

إنشاء حالة اختبار

لتنفيذ الاختبارات الموجَّهة بالذكاء الاصطناعي، يستخدم وكيل "اختبار التطبيق" حالات الاختبار باللغة الطبيعية لتنفيذ الاختبارات على تطبيقك.

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

هناك طريقتان لإنشاء حالة اختبار: استخدام ملف YAML أو استخدام وحدة تحكّم Firebase. تتيح لك ملفات YAML إدارة حالات الاختبار بنفسك، وعادةً ما يتم ذلك في مستودع رمز مصدر يتضمّن إصدارات. بدلاً من ذلك، يمكن لوحدة تحكّم Firebase تخزين حالات الاختبار عن بُعد مع بيانات App Distribution.

استخدام ملفات YAML

يوضّح المثال التالي ملف YAML يحدّد حالتين اختباريتين:

tests:
- displayName: Login as guest
  id: login-as-guest
  steps:
  - goal: Log in as a guest
    finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
  prerequisiteTestCaseId: login-as-guest
  steps:
  - goal: Open the article on "Bob Dylan"
    hint: Use the search function to find it
    finalScreenAssertion: >-
      The article is opened and the title "Bob Dylan" is visible.
  - goal: Find Bob Dylan's birthday in the article
    hint: >-
      Look for the "Born" section in the infobox on the right side of the page.
    finalScreenAssertion: >-
      The text "May 24, 1941" is visible on the screen.

يمكنك تنظيم مجموعات الاختبارات في ملف واحد وفصل مجموعات الاختبار هذه في ملفات متعددة. يمكنك إضافة حالة اختبار مسبقة من خلال إضافة رقم تعريف إلى الاختبار ثم الإشارة إلى رقم التعريف هذا باستخدام prerequisiteTestCaseId.

استخدام وحدة تحكّم App Distribution

بدلاً من ذلك، يمكنك إنشاء حالات الاختبار وإدارتها في وحدة تحكّم Firebase. لإنشاء حالة اختبار، افتح صفحة App Distribution في Firebaseوحدة التحكّم واتّبِع الخطوات التالية:

  1. في علامة التبويب حالات الاختبار، انقر على حالة اختبار جديدة. إذا كنت لا تريد إنشاء حالة اختبار خاصة بك، يمكنك تعديل مثال حالة الاختبار المقدَّم أو استخدامه.
  2. في مربّع الحوار إضافة حالة اختبار، أدخِل اسمًا لحالة الاختبار. يُستخدَم هذا المعرّف لتحديد الاختبار، ولكن يتجاهله الوكيل.
  3. (اختياري) اختَر حالة اختبار مسبقة تتضمّن خطوات الإعداد التي يجب تنفيذها قبل الاختبار الرئيسي. إذا لم يتم اجتياز اختبار المتطلبات الأساسية، سيتم وضع علامة على الاختبار بأكمله بأنّه لم يتم اجتيازه. سيتم عرض الخطوات والنتائج من الاختبارات الأساسية والمسبقة معًا في نتائج الاختبار.
  4. ننصحك بتقسيم اختبارك إلى عدة خطوات من خلال النقر على الزر إضافة خطوة أخرى.
  5. امنح كل خطوة هدفًا يوضّح الإجراء الذي يجب أن يتّخذه وكيل "اختبار التطبيق" خلال تلك الخطوة.
  6. (اختياري) أضِف تلميحًا لتقديم معلومات إضافية تساعد وكيل اختبار التطبيق في فهم تطبيقك والتنقّل فيه خلال هذه الخطوة.
  7. أضِف تأكيد الشاشة النهائية لمساعدة وكيل "اختبار التطبيق" في تحديد وقت إكمال الخطوة بنجاح. يجب أن يشير هذا التأكيد إلى المحتوى المرئي على الشاشة فقط.
  8. انقر على حفظ بعد الانتهاء من تخصيص الاختبار.

مثال على حالة اختبار

في ما يلي مثال على كيفية إنشاء حالة اختبار باستخدام وكيل App Testing:

عنوان الاختبار

عمليات تحميل الصفحة الرئيسية

الهدف

تحميل الصفحة الرئيسية

تلميح

انتقِل إلى ما بعد أي شاشات إعداد. إغلاق أي نوافذ منبثقة عدم تسجيل الدخول

تأكيد الشاشة النهائية

تظهر الصفحة الرئيسية للتطبيق على الشاشة، وتم تحميل جميع الصور، ولا تظهر أي أخطاء.

إجراء اختبار

تعتمد طريقة إجراء الاختبارات على كيفية إنشاء حالات الاختبار وإدارتها. إذا حدّدت حالات الاختبار باستخدام ملفات YAML، سيتم تشغيل هذه الاختبارات باستخدام واجهة سطر الأوامر (CLI) الخاصة بمنصة Firebase. إذا أنشأت حالات الاختبار في وحدة تحكّم App Distribution، ستنفّذها من وحدة التحكّم أو من خلال إحدى أدوات سطر الأوامر في App Distribution.

استخدام ملفات YAML

يمكن تنفيذ حالات الاختبار المحدّدة في ملفات YAML باستخدام Firebase CLI.

  1. ثبِّت أحدث إصدار من Firebase CLI أو حدِّث إليه. ننصحك بتنزيل الملف الثنائي المستقل الخاص بواجهة سطر الأوامر والمتوافق مع نظام التشغيل.
  2. سجِّل الدخول وتأكَّد من إمكانية الوصول إلى مشاريعك. يُرجى العِلم أنّه إذا كنت تستخدم Firebase CLI في بيئة CI، يمكنك أيضًا المصادقة باستخدام حساب خدمة أو باستخدام login:ci.
  3. نفِّذ الأمر apptesting:execute. على سبيل المثال:

    firebase apptesting:execute \
      --app=1:1234567890:android:0a1b2c3d4e5f67890 \
      --test-dir=./mytests \
      ./app/build/outputs/apk/debug/app-debug.apk
    
apptesting:execute [options] [/path/to/app/binary]
--app

مطلوب: معرّف تطبيقك على Firebase. يمكنك العثور على معرّف التطبيق في وحدة تحكّم Firebase، وذلك في صفحة الإعدادات العامة.

--app 1:1234567890:android:0a1b2c3d4e5f67890

--test-dir

مسار إلى دليل يحتوي على ملفات YAML لحالات الاختبار سيبحث الأمر بشكل متكرر ضمن هذا الدليل، لذا يمكن تنظيم الملفات بشكل اختياري في أدلة فرعية. في حال عدم ضبطها، يتم استخدام "./tests" تلقائيًا.

--test-devices أو
--test-devices-file

الأجهزة الاختبارية التي تريد توزيع الإصدارات عليها من خلال ميزة "وكيل اختبار التطبيق"

يمكنك تحديد أجهزة الاختبار كقائمة مفصولة بفواصل منقوطة:

--test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

أو يمكنك تحديد مسار إلى ملف نص عادي يحتوي على قائمة مفصولة بفواصل منقوطة للأجهزة الاختبارية:

--test-devices-file "/path/to/test-devices.txt"

يمكنك البحث عن طُرز الأجهزة المتاحة باستخدام gcloud CLI.

--test-non-blocking

في حال ضبط هذا الخيار، سيبدأ الأمر الاختبارات ثم يعود فورًا بدلاً من انتظار اكتمالها.

--test-file-pattern

نمط تعبير عادي سيتم تنفيذ الاختبارات الواردة في الملفات التي تتطابق مع هذا النمط فقط.

--test-name-pattern

نمط تعبير عادي سيتم تنفيذ الاختبارات التي تتضمّن أسماء عرض تطابق هذا النمط فقط.

/path/to/app/binary

اختياري: مسار الملف الثنائي لتطبيقك في حال عدم تحديدها، سيستخدم الوكيل آخر إصدار تم تحميله إلى App Distribution للتطبيق المحدّد.

استخدام وحدة تحكّم App Distribution

لتشغيل حالات الاختبار المخزَّنة في App Distribution، يمكنك استخدام وحدة تحكّم Firebase أو Firebase CLI أو مكوّنات Gradle أو fastlane الإضافية الخاصة بـ App Distribution.

استيراد حالات الاختبار وتصديرها باستخدام ملفات YAML

يكون استيراد حالات الاختبار من ملفات YAML مفيدًا عندما تريد إدارة حالات الاختبار خارج وحدة تحكّم Firebase. قد يكون من المفيد أيضًا تصدير حالات الاختبار لنقلها بين المشاريع. يمكنك استخدام نموذج لغوي كبير لتحسين حالات الاختبار الحالية أو إنشاء حالات اختبار جديدة. يمكنك استيراد حالات الاختبار وتصديرها من صفحة "حالات الاختبار" في وحدة تحكّم Firebase أو آليًا باستخدام Firebase CLI. للاطّلاع على مثال لحالة اختبار YAML، يُرجى الاطّلاع على إنشاء حالة اختبار YAML.

عرض نتائج الاختبار

يمكنك الاطّلاع على نتائج الاختبارات من صفحة الإصدارات في علامة التبويب وكيل اختبار التطبيق لأحد الإصدارات. سيؤدي النقر على الزر عرض التفاصيل إلى فتح مربّع الحوار "نتائج الاختبار" وعرض أي مشاكل ولقطات شاشة للتطبيق والإجراءات التي اتّخذها Gemini أثناء الاختبار.

إذا كان الاختبار يتضمّن إجراءات مُعاد تشغيلها، يمكنك عرض عملية الاختبار الأصلية التي تم إجراؤها باستخدام الذكاء الاصطناعي أو محو ذاكرة التخزين المؤقت.

لمزيد من المعلومات حول نتائج الاختبار، استخدِم الجدول التالي:

الرمز الاسم الوصف
spark إجراء الذكاء الاصطناعي تشير إلى أنّ وكيل "اختبار التطبيق" استخدم Gemini لاتّخاذ قرار بتنفيذ إجراء أو إنهاء الخطوة.
replay الإجراء الذي تمّت إعادة تشغيله يشير إلى أنّ وكيل "اختبار التطبيق" أعاد تشغيل إجراء من عملية تنفيذ ناجحة سابقة للاختبار.
spark تأكيد من إنشاء الذكاء الاصطناعي تشير إلى أنّ وكيل "اختبار التطبيق" استخدم Gemini للتحقّق من صحة تأكيد الشاشة النهائية، بعد إعادة تنفيذ الإجراءات من عملية تشغيل ناجحة سابقة للاختبار نفسه.

تصحيح أخطاء نتائج الاختبار

إذا كانت نتائج الاختبار مختلفة عن النتائج المتوقّعة، يمكنك تصحيح أخطاء الاختبار باستخدام زر التبديل عرض طريقة عرض الوكيل ضمن عرض التفاصيل في صفحة "نتائج الاختبار". تعرض طريقة عرض "الوكيل" العناصر الظاهرة على الشاشة التي تمكّن وكيل "اختبار التطبيقات" من رصدها عند استخدام معلومات تسهيل الاستخدام الخاصة بالتطبيق. إذا أردت الاطّلاع على ما رآه الوكيل، يمكنك تنزيل هذه المعلومات من القائمة الكاملة للإجراءات.

يمكنك أيضًا استخدام الزر عرض العناصر في صفحة "نتائج الاختبار" للاطّلاع على جميع الفيديوهات والسجلات وغيرها من عناصر Cloud المتعلقة بنتائج الاختبار.

المشاكل والقيود المعروفة

تتضمّن معاينة وكيل "اختبار التطبيق" بعض القيود المعروفة:

  • بما أنّ وكيل "اختبار التطبيق" يستخدم الذكاء الاصطناعي التوليدي لاختبار تطبيقك، سيتّخذ أحيانًا إجراءات مختلفة مع اتّباع التعليمات نفسها.
  • لا يتيح وكيل "اختبار التطبيق" سوى الإجراءات التالية: النقر وإدخال النص والتمرير سريعًا للأعلى/للأسفل/لليمين/لليسار والنقر مع الاستمرار والسحب والإفلات والرجوع والانتظار.
  • يواجه برنامج App Testing صعوبة في تنفيذ الاختبارات التي تحتوي على خطوة واحدة فقط تتطلّب اتّخاذ العديد من الإجراءات لإكمالها. ويكون أداؤه أفضل عند تقسيم المهام المعقّدة إلى خطوات متعددة أقصر.
  • في بعض الأحيان، لا ينتقل وكيل "اختبار التطبيق" إلى أسفل الصفحة لعرض العناصر الأخرى التي تظهر خارج الشاشة. ويحدث ذلك غالبًا عندما لا يكون هناك مؤشر مرئي على إمكانية التمرير. كحلّ بديل، يمكن استخدام الحقل "تلميحات" لاقتراح التمرير.
  • يواجه وكيل اختبار التطبيق أحيانًا مشكلة في العد، مثل تنفيذ إجراء عددًا معيّنًا من المرات.
  • لا يمكن لوكيل "اختبار التطبيق" التنقّل في تطبيقك إذا تم تفعيل FLAG_SECURE. بدلاً من لقطات شاشة لتطبيقك، سيظهر له شاشة فارغة.

حصص الاختبار

خلال فترة المعاينة، ستتوفّر الاختبارات المستندة إلى الذكاء الاصطناعي بدون أي تكلفة ضمن حدّ الحصة المحدّدة. الحدّ التلقائي للحصة هو 200 اختبار شهريًا لكل مشروع على Firebase.

يُرجى العِلم أنّه في حال اختيار تنفيذ عدّة حالات اختبار أو تنفيذ حالة الاختبار نفسها على أجهزة متعدّدة، سيتم احتساب ذلك على أنّه اختبارات متعدّدة. على سبيل المثال، إذا نفّذت حالتي اختبار على جهازَين، سيتم احتساب ذلك على أنّه إجمالي 4 اختبارات.

لزيادة حصتك عن الحدّ التلقائي، تواصَل مع فريق دعم Firebase وأخبره بحالة الاستخدام.