يوضّح هذا الدليل كيفية إعداد اختبار XCTest لإجراء الاختبار في Firebase Test Lab.
الخطوة 1: ضبط موقع "البيانات المشتقة" لمشروعك
يضع Xcode العناصر المترجَمة لنظام التشغيل iOS، بما في ذلك أي اختبارات تنشئها، في دليل "البيانات المشتقة". يمكنك الاحتفاظ بالموقع التلقائي لهذا الدليل، إذا أردت ذلك، ولكن من المفيد غالبًا اختيار مكان يسهل الوصول إليه للملفات، خاصةً إذا كنت ستجري الاختبارات باستخدام Test Lab بشكل متكرر:
- افتح مشروعك في Xcode.
- في شريط قائمة macOS، انقر على ملف > إعدادات المشروع...
- غيِّر القائمة المنسدلة البيانات المشتقة من الموقع التلقائي إلى الموقع المخصّص.
- في الحقل أسفل القائمة المنسدلة، اختَر موقعًا ليضع فيه Xcode نتائج اختباراتك. (هذا هو FOLDER_WITH_TEST_OUTPUT)
الخطوة 2: إنشاء ملف اختبار عام
Test Lab يُجري اختبارات الوحدة واختبارات واجهة المستخدم باستخدام إطار عمل XCTest. لتشغيل اختبارات XCTest لتطبيقك على أجهزة Test Lab، أنشئ التطبيق لإجراء الاختبار على جهاز iOS عام:
- من القائمة المنسدلة للأجهزة في أعلى نافذة مساحة عمل Xcode، اختَر جهاز iOS عام.
- في شريط قائمة macOS، انقر على المنتج > الإنشاء من أجل > الاختبار.
كبديل لذلك، يمكنك إنشاء اختبار 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.