يوضّح هذا الدليل كيفية إعداد اختبار XCTest للاختبار في Firebase Test Lab.
الخطوة 1: ضبط موقع البيانات المستمدة في مشروعك
يضع Xcode عناصر iOS المجمّعة، بما في ذلك أي اختبارات تنشئها، في دليل "بيانات مشتقة". يمكنك الاحتفاظ بالموقع التلقائي لهذا الدليل، إذا أردت، ولكن من المفيد غالبًا اختيار مكان يمكن الوصول إليه بسهولة أكبر للملفات، خاصةً إذا كنت ستجري اختبارات باستخدام Test Lab بشكل متكرّر:
- افتح مشروعك في Xcode.
- في شريط قوائم نظام التشغيل macOS، اختَر ملف > إعدادات المشروع...
- غيِّر القائمة المنسدلة البيانات المستمدة من الموقع الجغرافي التلقائي إلى الموقع الجغرافي المخصّص.
- في الحقل أسفل القائمة المنسدلة، اختَر موقعًا لإخراج Xcode
لاختباراتك. (هذا هو
FOLDER_WITH_TEST_OUTPUT )
الخطوة 2: إنشاء ملف اختبار عام
Test Lab يُجري اختبارات الوحدة واختبارات واجهة المستخدم باستخدام إطار عمل XCTest. لتشغيل اختبارات XCTests لتطبيقك على أجهزة Test Lab، عليك إنشاؤه لاختباره على جهاز iOS عام:
- من القائمة المنسدلة للجهاز في أعلى نافذة مساحة عمل Xcode، اختَر Generic iOS Device (جهاز iOS عام).
- في شريط قوائم نظام التشغيل macOS، اختَر المنتج > إنشاء الإصدار المخصّص لأجهزة > الاختبار.
بدلاً من ذلك، يمكنك إنشاء XCTest من سطر الأوامر. استخدِم الأمر التالي في وحدة طرفية:
xcodebuild -projectPATH/TO/YOUR_WORKSPACE /YOUR_PROJECT .xcodeproj \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
xcodebuild -workspacePATH/TO/YOUR_WORKSPACE .xcworkspace \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_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-iphoneosYOUR_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.