يوضّح هذا الدليل كيفية إعداد اختبار XCTest للاختبار في Firebase Test Lab.
الخطوة 1: ضبط موقع البيانات المشتقّة لمشروعك
يضع Xcode عناصر iOS المجمّعة، بما في ذلك أي اختبارات تنشئها، في دليل DerivedData. يمكنك الاحتفاظ بالموقع الجغرافي التلقائي لهذا الدليل، إذا أردت، ولكن من المفيد غالبًا اختيار مكان يسهل الوصول إليه للملفات، خاصةً إذا كنت ستُجري اختبارات باستخدام Test Lab غالبًا:
- افتح مشروعك في Xcode.
- في شريط قوائم macOS، اختَر File (ملف) > Project Settings... (إعدادات المشروع...)
- غيِّر القائمة المنسدلة البيانات المشتقّة من الموقع الجغرافي التلقائي إلى الموقع الجغرافي المخصّص.
- في الحقل أسفل القائمة المنسدلة، اختَر موقعًا جغرافيًا لكي يُخرج Xcode اختباراتك إليه. (هذا هو FOLDER_WITH_TEST_OUTPUT)
الخطوة 2: إنشاء ملف اختبار عام
Test Lab يشغّل اختبارات الوحدات واختبارات واجهة المستخدم باستخدام إطار عمل XCTest. لتشغيل اختبارات XCTest لتطبيقك على أجهزة Test Lab، عليك إنشاء التطبيق للاختبار على جهاز iOS عام:
- من القائمة المنسدلة للأجهزة في أعلى نافذة مساحة عمل Xcode، اختَر جهاز iOS عام.
- في شريط قوائم macOS، اختَر Product (المنتج) > Build For (إنشاء لـ) > Testing (الاختبار).
كبديل، يمكنك إنشاء XCTest من سطر الأوامر. استخدِم الأمر التالي في الوحدة الطرفية:
مشروع
xcodebuild -project PATH/TO/YOUR_WORKSPACE/PROJECT_NAME.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: توقيع الاختبار والتحقّق منه
تأكَّد من توقيع جميع العناصر في التطبيق والاختبار. على سبيل المثال، يمكنك القيام بذلك من خلال Xcode عن طريق تحديد إعدادات التوقيع مثل ملف تعريف التوفير والهوية. لمزيد من المعلومات، يُرجى الاطّلاع على توقيع رمز Apple.
تحقَّق من توقيع التطبيق من خلال تشغيل
codesign --verify --deep --verbose /path/to/MyApp.appحيث "MyApp" هو اسم التطبيق داخل المجلد الذي تم فك ضغطه. ويختلف ذلك من مشروع لآخر. الناتج المتوقّع هوMyApp.app: valid on disk.إذا كنت تُجري اختبار XCUITest، عليك التحقّق من الاختبار والمشغّل من خلال تشغيل
codesign --verify --deep --verbose /path/to/MyTest-Runner.appحيث "MyTest" هو اسم المشغّل داخل المجلد الذي تم فك ضغطه. يختلف هذا لكل مشروع. الناتج المتوقّع هوMyTest-Runner.app: valid on disk.
الخطوة 4: تجميع تطبيقك واختباره قبل التحميل
بعد إنشاء الاختبار بنجاح، يمكنك ضغطه لتحميله إلى Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
يمكنك أيضًا تجميع الاختبار عن طريق ضغط ملفات الاختبار يدويًا:
افتح Finder وانتقِل إلى
FOLDER_WITH_TEST_OUTPUT.افتح المجلد الذي يحمل اسم مشروعك كبادئة، ثم انتقِل إلى مجلد
Build/Productsبداخله.اختَر المجلدَين
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.