اختبر باستخدام gcloud CLI

يصف هذا الدليل كيفية تشغيل XCTest أو اختبار Game Loop باستخدام gcloud CLI.

الخطوة 1: تكوين بيئتك جوجل الغيمة SDK المحلية

  1. تحميل جوجل الغيمة SDK.
  2. يتضمن ذلك أداة gcloud CLI.

  3. تأكد من تركيب الخاص بك هو ما يصل إلى تاريخ ويتضمن gcloud firebase الأوامر:
          gcloud components update
  4. تسجيل الدخول إلى CLI gcloud باستخدام حساب Google:
          gcloud auth login
  5. تعيين المشروع Firebase بك في gcloud، حيث PROJECT_ID هو معرف المشروع Firebase الخاص بك:
         gcloud config set project PROJECT_ID

الخطوة 2: تشغيل الاختبار

قم بتشغيل XCTest

  1. تحميل ملف .zip من الاختبار عن طريق تشغيل الأمر التالي (إذا لم تكن تعبأ بعد حتى التطبيق الخاص بك، انظر التغليف XCTest الخاص بك ):

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
  2. اختر أبعاد الاختبار الخاصة بك.

    يتيح لك Test Lab إجراء اختبارات على مجموعة متنوعة من إصدارات iOS والأجهزة واتجاهات الشاشة واللغات. ومن المعروف أن هذه التكوينات كما أبعاد الاختبار الاختبار. لمعرفة الخيارات لكل بعد (على سبيل المثال، الإصدارات المدعومة كسكودي للنسخة دائرة الرقابة الداخلية للجهاز)، بديلا models ، versions ، أو locales لل dimension في الأمر التالي:

    gcloud firebase test ios dimension list

    اتجاه الشاشة هو أبسط نوعا ما، كما خياراتها الوحيدة هي portrait و landscape .

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

  3. مرة واحدة كنت قد اختار مجموعة من أبعاد الاختبار، هل يمكن أن يكون مختبر فحص تشغيل الاختبارات باستخدام 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-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=11.3

اختبار الاستحقاقات الخاصة

لاستحقاقات الاختبار التي تتطلب التطبيقات ID صريح، يمكنك القيام بذلك عن طريق تعيين --test-special-entitlements العلم. يعيد Test Lab تسجيل التطبيق بمعرف حزمة جديد لدعم الاستحقاقات الخاصة ، لذا يرجى التأكد من عدم وجود موارد في ملف zip الخاص بك تحتوي على مراجع مباشرة لمعرف حزمة التطبيق.

دفع الإخطارات

للترخيص طلبات دفع الاخطار، يمكن للمستخدمين إنشاء JSON الرموز على شبكة الإنترنت باستخدام الخاص مفتاح التوقيع مع ID مفتاح - C7FD9DJAA8 وفريق ID - 9CKCGNNUQN. ستكون الرموز التي تم إنشاؤها صالحة لمدة ساعة واحدة وتحتاج إلى التحديث كل 60 دقيقة. قراءة المزيد عن تأسيس اتصال رمز استنادا إلى ابنس استراتيجية الحد.

قم بإجراء اختبار Game Loop

تشغيل gcloud beta firebase test ios run الأوامر واستخدام العلامات التالية لتكوين المدى:

علامات اختبارات Game Loop
--type

مطلوب: تحديد نوع الاختبار دائرة الرقابة الداخلية الذي تريد تشغيله. يمكنك إدخال أنواع اختبار xctest (الافتراضي) أو game-loop .

--app

مطلوب: مسار المطلق (GCS أو الملفات) إلى ملف IPA التطبيق الخاص بك. هذه العلامة صالحة فقط عند إجراء اختبارات Game Loop.

--scenario-numbers

الحلقات (المعروفة أيضًا بالسيناريوهات) التي تريد تشغيلها في تطبيقك. يمكنك إدخال حلقة واحدة ، أو قائمة أو حلقات ، أو نطاق من الحلقات. الحلقة الافتراضية هي 1.

على سبيل المثال، --scenario-numbers=1-3,5 يدير حلقات 1 و 2 و 3 و 5.

--device-model

الجهاز المادي الذي تريد تشغيله الاختبار على (معرفة أي الأجهزة المتوفرة التي يمكنك استخدامها).

--timeout

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

على سبيل المثال:

  • --timeout=200 القوات اختبار لإنهاء عند تشغيله حتى 200 ثانية.
  • --timeout=1h القوات اختبار لإنهاء عند تشغيله تصل إلى ساعة.

على سبيل المثال ، يقوم الأمر التالي بتشغيل اختبار Game Loop الذي ينفذ الحلقات 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

لمزيد من المعلومات عن CLI gcloud، راجع الوثائق المرجعية .

الخطوة 4 (اختياري): أتمتة المستقبل الاختبارات التي بناء

برمجة أوامر gcloud باستخدام Test Lab

يمكنك استخدام البرامج النصية لـ shell أو ملفات الدُفعات لأتمتة أوامر اختبار تطبيقات الأجهزة المحمولة التي يمكنك تشغيلها باستخدام سطر أوامر 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 حدث خطأ في اختبار البنية التحتية.

خطوة 5: ينبغي التحقيق في نتائج الاختبار

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

الخطوة التالية

قراءة الوثائق في السحاب من Google SDK لاستكشاف اختبار الخيارات المتاحة عموما أو في بيتا .