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