إجراء XCTest

يوضّح هذا الدليل طريقة تحضير XCTest للاختبار في Firebase Test Lab.

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

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

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

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

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

  1. من القائمة المنسدلة للجهاز في أعلى نافذة مساحة العمل في Xcode، اختَر جهاز iOS عام.
  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 Code Signature.

  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. افتح Finder (الباحث) وانتقل إلى FOLDER_WITH_TEST_OUTPUT.

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

  3. اختَر المجلدَين Debug-iphoneos وYOUR_SCHEME_iphoneosDEPLOYMENT_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.