موظّف دعم اختبار التطبيقات (لنظام التشغيل 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. انقر على حفظ بعد الانتهاء من تخصيص الاختبار.

مثال على إطار الاختبار

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

عنوان تجريبي

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

الهدف

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

تلميح

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

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

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

إجراء بث تجريبي

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

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

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

  1. ثبِّت أحدث إصدار من Firebase CLI أو حدِّثه. ننصحك بتنزيل الملف الثنائي المستقل لواجهة سطر الأوامر (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-username

اسم المستخدم لتسجيل الدخول التلقائي الذي سيتم استخدامه أثناء الاختبارات.

‫--test-password أو
--test-password-file

كلمة المرور لتسجيل الدخول التلقائي التي سيتم استخدامها أثناء الاختبارات

أو يمكنك تحديد المسار إلى ملف نص عادي يحتوي على كلمة مرور:

--test-password-file: "/path/to/test-password.txt"
--test-non-blocking

في حال ضبط هذا الخيار، سيبدأ الأمر الاختبارات ثم يعود على الفور بدلاً من انتظار اكتمالها. للاطّلاع على نتائج الاختبار، يُرجى الانتقال إلى وحدة تحكُّم Firebase. إذا لم يتم ضبط هذه العلامة، سيتم حظر الأمر إلى أن تكتمل الاختبارات، وسيتم الخروج برمز تعذُّر في حال تعذُّر أي من الاختبارات.

--results-bucket

حزمة Google Cloud Storage (GCS) مخصّصة يتم فيها تخزين نتائج الاختبارات. وفي حال ترك هذا الحقل فارغًا، يتم استخدام الحزمة التلقائية. يجب أن يكون المستودع مملوكًا لمشروع تم تفعيل الفوترة فيه، ويؤدي تحديد مستودع إلى فرض رسوم فوترة مقابل مساحة التخزين المستخدَمة.

--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. للاطّلاع على مثال على إطار اختبار YAML، يُرجى مراجعة إنشاء إطار اختبار YAML.

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

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

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

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

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

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

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

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

الحدود والمشاكل المعروفة

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

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

اختبار الحصص

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

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

لزيادة حصتك عن الحدّ التلقائي، يُرجى التواصل مع فريق دعم Firebase مع توضيح حالة الاستخدام.