يصف هذا الدليل كيفية إجراء اختبار XCTest أو Game Loop باستخدام gcloud. واجهة سطر الأوامر.
الخطوة 1: ضبط بيئة Google Cloud SDK المحلية
- نزِّل حزمة تطوير البرامج (SDK) لخدمة Google Cloud.
- التأكد من أن عملية التثبيت محدثة وتتضمن
الأمر
gcloud firebase
:gcloud components update
- سجِّل الدخول إلى gcloud CLI باستخدام حسابك على Google:
gcloud auth login
- إعداد مشروع Firebase في gcloud، حيث يتم توفير PROJECT_ID
رقم تعريف مشروع Firebase:
gcloud config set project PROJECT_ID
ويتضمن ذلك أداة gcloud CLI.
الخطوة 2: إجراء الاختبار
إجراء اختبار XCTest
حمّل ملف zip .للاختبار من خلال تشغيل الأمر التالي (إذا لم تجمع تطبيقك بعد، يمكنك حزمة XCTest:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
اختَر الأبعاد الاختبارية.
يتيح لك تطبيق Test Lab إجراء اختبارات على مجموعة متنوعة من إصدارات وأجهزة iOS وشاشاتها. والاتجاهات واللغات. وتُعرف هذه الإعدادات باسم إعدادات الاختبار اختبار السمات. للاطّلاع على خيارات كل سمة (مثل إصدارات Xcode المتوافقة مع إصدار iOS على الجهاز)، استبدِل
models
أوversions
أوlocales
بدلاً منdimension
في الأمر التالي:gcloud firebase test ios dimension list
إنّ اتجاه الشاشة أبسط إلى حدّ ما، لأنّ خياراته الوحيدة هي
portrait
landscape
اطّلع على قائمة الأبعاد التجريبية، واختر بعض المجموعات التي ترغب في لإجراء الاختبار. انتقِل إلى خطط الأسعار للاطّلاع على الحد الأقصى لعدد المجموعات التي يمكنك تشغيلها في اليوم.
بعد اختيار مجموعة من السمات الاختبارية، يمكنك إجراء عملية تشغيل واحدة (Test Lab). اختباراتك باستخدام الأمر
firebase test ios run
. لكل منها مجموعة سمات الاختبار التي تريد إجراء اختبار عليها، ضمِّن علامة--device
منفصلة:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \ etc...
من الممكن أن يخفق الاختبار بسبب عدم التوافق بين إصدار Xcode مع الذي أُنشئ الاختبار وإصدار Xcode التلقائي الذي يستخدمه Test Lab. لتحديد إصدار Xcode متوافق للاختبار، استخدِم علامة
--xcode-version
:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --xcode-version=15
ولمساعدتك في تحديد مصفوفات الاختبار وتحديد موقعها في Firebase، يمكنك اختياريًا تسمية مصفوفة الاختبار باستخدام العلامة
--client-details matrixLabel="<label>"
في المثال التالي:gcloud beta firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --client-details matrixLabel="my label"
اختبار الأذونات الخاصة
لاختبار الأذونات التي تتطلب معرّف تطبيق صريحًا، يمكنك إجراء ذلك من خلال
بوضع علامة --test-special-entitlements
. Test Lab
إعادة توقيع التطبيق باستخدام معرّف حزمة جديد لإتاحة استخدام خاص
المسموح به، لذا يُرجى التأكّد من عدم توفّر موارد في ملف ZIP
تحتوي على مراجع مباشرة لمعرّف حزمة التطبيق.
- الإشعارات الفورية
apns-environment
- شبكة VPN الشخصية
com.apple.developer.networking.vpn.api
لمنح الإذن بتنفيذ طلبات الإشعارات الفورية، يمكن للمستخدمين إنشاء نسخة ويب بتنسيق JSON. باستخدام الرموز الخاصة مفتاح توقيع مع معرّف المفتاح - C7FD9DJAA8 ورقم تعريف الفريق - 9CKCGNNUQN ستكون الرموز المميزة التي تم إنشاؤها صالحة لفرد واحد يجب تحديثه كل 60 دقيقة. قراءة المزيد على إنشاء اتصال يستند إلى الرمز المميّز لأسماء نقاط الوصول (APN).
مجموعات التطبيقاتتكون أرقام تعريف مجموعات التطبيقات فريدة عالميًا. هذا يعني أنه عندما لإعادة توقيع تطبيقات المستخدم، فلا يمكننا استخدام سوى معرّف مجموعة التطبيقات الذي مرتبط بحساب المطوّر على Test Lab. إذا كان اختبارك يعتمد على في مجموعات التطبيقات، فسيفشل الاختبار.
إجراء اختبار حلقة الألعاب
شغِّل الأمر gcloud beta firebase test ios run
واستخدِم علامتَي الالتفاف التاليتَين لضبط عملية التشغيل:
علامات اختبارات حلقة الألعاب | |
---|---|
--type
|
مطلوب: يحدد نوع اختبار iOS الذي تريد إجراؤه. يمكنك إدخال
نوع الاختبار |
--app
|
مطلوب: المسار المطلق (GCS أو نظام الملفات) لملف IPA لتطبيقك. لا تكون هذه العلامة صالحة إلا عند إجراء اختبارات حلقة الألعاب. |
--scenario-numbers
|
تمثّل هذه السمة التكرارات الحلقية (المعروفة أيضًا باسم السيناريوهات) التي تريد تشغيلها في تطبيقك. يمكنك إدخال تكرار واحد أو قائمة أو تكرارات أو نطاق من التكرارات الحلقية. العدد التلقائي للحلقات هو 1.
على سبيل المثال، تُجري |
--device-model
|
الجهاز الفعلي الذي تريد إجراء الاختبار عليه (تعرّف على الأجهزة المتاحة التي يمكنك استخدامها). |
--timeout
|
تمثّل هذه السمة الحد الأقصى للمدة المطلوبة لتشغيل الاختبار. يمكنك إدخال عدد صحيح لتمثيل المدّة بالثواني، أو عدد صحيح وعدد تسلسلي لتمثيل المدّة كوحدة زمنية أطول. على سبيل المثال:
|
على سبيل المثال، يشغّل الأمر التالي اختبار حلقة الألعاب الذي ينفّذ التكرارات الحلقية. الأرقام 1 و4 و6 و7 و8 على هاتف iPhone 8 Plus:
gcloud beta firebase test ios run --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8 --device-model=iphone8plus
لمزيد من المعلومات حول gcloud CLI، يُرجى الاطّلاع على المستندات المرجعية
الخطوة 3 (اختيارية): برمجة الاختبارات المستقبلية التي تنشئها
برمجة أوامر gcloud باستخدام "Test Lab"
يمكنك استخدام النصوص البرمجية من واجهة الأوامر أو الملفات المجمّعة لتشغيل أوامر اختبار تطبيقات الأجهزة الجوّالة بشكل آلي. التي كنت ستشغلها باستخدام سطر الأوامر gcloud. نموذج مجموعة bash هذا يشغّل البرنامج النصي اختبار XCTest مع مهلة لمدة دقيقتين، ويرسل تقريرًا إذا كان تشغيل الاختبار اكتمل بنجاح:
if gcloud firebase test ios run --test MyTest.zip --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
رموز الخروج من النصوص البرمجية
تقدّم Test Lab العديد من رموز الخروج التي يمكنك استخدامها لفهم طلبك بشكل أفضل. نتائج الاختبارات التي تجريها باستخدام النصوص البرمجية أو الملفات الدُفعية.
رمز الخروج | ملاحظات |
---|---|
0 | تم اجتياز جميع عمليات التنفيذ الاختبارية. |
1 | حدث خطأ عام. تشمل الأسباب المحتملة: اسم ملف غير موجود أو حدوث خطأ في HTTP/الشبكة. |
2 | تم الخروج من الاختبار بسبب تقديم أوامر أو وسيطات غير معروفة. |
10 | حالة اختبار واحدة أو أكثر (فصول تم اختبارها أو طرق الصفوف) ضمن الاختبار لم تكتمل عملية التنفيذ. |
15 | تعذّر على الدالة Firebase Test Lab تحديد ما إذا نجحت مصفوفة الاختبار أم لا فشلت نظرًا لحدوث خطأ غير متوقع. |
19 | تم إلغاء المصفوفة التجريبية من قِبل المستخدم. |
20 | حدث خطأ في البنية الأساسية التجريبية. |
الخطوة 4: التحقيق في نتائج الاختبارات
عند بدء الاختبار، ستتلقّى رابطًا يؤدي إلى صفحة نتائج الاختبار. يمكن إجراء اختبارات تستغرق بضع دقائق للتشغيل، اعتمادًا على عدد من الإعدادات التي اخترتها ومدة مهلة الاختبار الاختبار. بعد إجراء الاختبارات، يمكنك مراجعة نتائج الاختبار. عرض تحليل نتائج Firebase Test Lab لمعرفة مزيد من المعلومات عنها كيفية تفسير نتائج الاختبار.
الخطوة التالية
يمكنك الاطّلاع على وثائق Google Cloud SDK لاستكشاف خيارات الاختبار المتاحة متاحة للجمهور العام أو في الإصدار التجريبي