Catch up on highlights from Firebase at Google I/O 2023. Learn more

قم بتشغيل XCTest

يصف هذا الدليل كيفية تحضير XCTest للاختبار في Firebase Test Lab.

الخطوة 1 : تكوين موقع البيانات المشتقة لمشروعك

يضع Xcode عناصر iOS المجمعة ، بما في ذلك أي اختبارات تقوم بإنشائها ، في دليل البيانات المشتقة. من الممكن الاحتفاظ بالموقع الافتراضي لهذا الدليل ، إذا كنت ترغب في ذلك ، ولكن غالبًا ما يكون من المفيد اختيار مكان يسهل الوصول إليه للملفات ، خاصة إذا كنت ستجري اختبارات مع Test Lab في كثير من الأحيان:

  1. افتح مشروعك في Xcode.
  2. في شريط قوائم macOS ، حدد ملف > إعدادات المشروع ...
  3. قم بتغيير القائمة المنسدلة "البيانات المشتقة" من "الموقع الافتراضي" إلى "الموقع المخصص" .
  4. في الحقل أسفل القائمة المنسدلة ، حدد موقعًا لـ Xcode لإخراج اختباراتك إليه. (هذا هو FOLDER_WITH_TEST_OUTPUT الخاص بك)

الخطوة 2 : إنشاء ملف اختبار عام

يجري Test Lab اختبارات الوحدة واختبارات واجهة المستخدم باستخدام إطار XCTest . لتشغيل XCTests لتطبيقك على أجهزة Test Lab ، قم ببنائه للاختبار على جهاز iOS عام:

  1. من القائمة المنسدلة للجهاز في الجزء العلوي من نافذة مساحة عمل Xcode ، حدد Generic iOS Device .
  2. في شريط قوائم macOS ، حدد المنتج > إنشاء من أجل > اختبار .

كبديل ، يمكنك بناء XCTest الخاص بك من سطر الأوامر. استخدم الأمر التالي في المحطة:

مشروع

xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

مساحة العمل

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

الخطوة 3 : قم بالتوقيع على الاختبار الخاص بك وتحقق منه

  1. تأكد من توقيع جميع القطع الأثرية في التطبيق والاختبار. على سبيل المثال ، يمكنك القيام بذلك من خلال Xcode عن طريق تحديد إعدادات التوقيع مثل توفير ملف التعريف والهوية. لمزيد من المعلومات ، راجع توقيع رمز Apple .

  2. تحقق من توقيع التطبيق عن طريق تشغيل codesign --verify --deep --verbose /path/to/MyApp.app حيث "MyApp" هو اسم التطبيق داخل المجلد الذي تم فك ضغطه. هذا يختلف لكل مشروع. الإخراج المتوقع هو MyApp.app: valid on disk .

  3. إذا كنت تقوم بتشغيل XCUITest ، فأنت بحاجة إلى التحقق من الاختبار والعداء عن طريق تشغيل codesign --verify --deep --verbose /path/to/MyTest-Runner.app حيث "MyTest" هو اسم العداء داخل مجلد غير مضغوط. هذا يختلف لكل مشروع. الإخراج المتوقع هو MyTest-Runner.app: valid on disk .

الخطوة 4 : قم بتعبئة تطبيقك واختباره للتحميل

  1. بعد بناء الاختبار بنجاح ، قم بضغطه للتحميل إلى Test Lab:

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
    

يمكنك أيضًا حزم الاختبار عن طريق ضغط ملفات الاختبار يدويًا:

  1. افتح الباحث وانتقل إلى FOLDER_WITH_TEST_OUTPUT .

  2. افتح المجلد الذي يحتوي على اسم مشروعك كبادئة ، ثم انتقل إلى مجلد Build/Products بالداخل.

  3. حدد المجلدات Debug-iphoneos و YOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun ثم اضغط عليها.

الخطوة 5 : (اختياري) قم بإجراء اختبارك محليًا

قبل إجراء اختبارك باستخدام Test Lab ، يمكنك تشغيله محليًا باستخدام جهاز متصل بـ USB للتحقق من جودة سلوكه:

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
    -destination id=your-phone-id

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

قم بتحميل الاختبار وتشغيله في وحدة تحكم Firebase أو gcloud CLI .