يصف هذا الدليل كيفية تحضير 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 .
- في شريط قوائم 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 : قم بالتوقيع على الاختبار الخاص بك وتحقق منه
تأكد من توقيع جميع القطع الأثرية في التطبيق والاختبار. على سبيل المثال ، يمكنك القيام بذلك من خلال 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
يمكنك أيضًا حزم الاختبار عن طريق ضغط ملفات الاختبار يدويًا:
افتح الباحث وانتقل إلى
FOLDER_WITH_TEST_OUTPUT
.افتح المجلد الذي يحتوي على اسم مشروعك كبادئة ، ثم انتقل إلى مجلد
Build/Products
بالداخل.حدد المجلدات
Debug-iphoneos
وYOUR_SCHEME _iphoneos DEPLOYMENT_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 .