Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Panduan ini menjelaskan cara menyiapkan XCTest untuk pengujian dalam
Firebase Test Lab.
Langkah 1: Konfigurasikan lokasi Data Turunan project Anda
Xcode menempatkan artefak iOS yang dikompilasi, termasuk semua pengujian yang Anda build, di dalam
direktori Data Turunan. Anda dapat menggunakan lokasi default untuk direktori itu
jika Anda mau, tetapi biasanya akan lebih membantu jika Anda memilih tempat yang lebih mudah diakses
untuk file tersebut, terutama jika Anda sering menjalankan pengujian dengan
Test Lab:
Buka project Anda di Xcode.
Di panel menu macOS, pilih File > Project Settings...
Ubah drop-down Derived Data dari Default Location ke Custom Location.
Pada kolom di bawah drop-down, pilih lokasi Xcode untuk menampilkan hasil pengujian Anda. (Ini adalah
FOLDER_WITH_TEST_OUTPUT Anda)
Langkah 2: Build file pengujian umum
Test Lab menjalankan pengujian unit dan pengujian UI menggunakan
framework XCTest.
Untuk menjalankan XCTests aplikasi pada perangkat Test Lab, buat XCTests untuk pengujian pada
Perangkat iOS Umum:
Dari drop-down perangkat di bagian atas jendela ruang kerja Xcode, pilih
Generic iOS Device.
Di panel menu macOS, pilih Product > Build For > Testing.
Sebagai alternatif, Anda dapat mem-build XCTest dari command line.
Gunakan perintah berikut di terminal:
Langkah 3: Tanda tangani pengujian Anda dan verifikasi
Pastikan semua artefak dalam aplikasi dan pengujian ditandatangani. Misalnya, Anda dapat melakukannya melalui Xcode dengan menentukan setelan penandatanganan seperti penyediaan profil dan identitas. Untuk mengetahui informasi selengkapnya, lihat
Penandatanganan Kode Apple
Verifikasi tanda tangan aplikasi dengan menjalankan
codesign --verify --deep --verbose /path/to/MyApp.app dengan "MyApp" adalah
nama aplikasi di dalam folder yang diekstrak. Opsi ini bervariasi untuk setiap project.
Output yang diharapkan adalah MyApp.app: valid on disk.
Jika menjalankan XCUITest, Anda harus memverifikasi pengujian dan runner dengan menjalankan codesign --verify --deep --verbose /path/to/MyTest-Runner.app dengan "MyTest" adalah nama runner di dalam folder yang diekstrak. Opsi ini bervariasi untuk setiap project. Output yang diharapkan adalah MyTest-Runner.app: valid on disk.
Langkah 4: Kemas aplikasi Anda dan uji untuk diupload
Setelah pengujian berhasil di-build, kompres menjadi zip untuk diupload ke Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Anda juga dapat mengemas pengujian dengan mengompresi file pengujian secara manual:
Buka Finder dan buka
FOLDER_WITH_TEST_OUTPUT.
Buka folder yang memiliki nama project Anda sebagai awalan, lalu buka folder Build/Products di dalamnya.
Pilih folder Debug-iphoneos dan YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun, lalu kompresi.
Langkah 5: (Opsional) Jalankan pengujian secara lokal
Sebelum menjalankan pengujian dengan Test Lab, Anda dapat menjalankannya secara lokal dengan
perangkat yang terhubung ke USB untuk memeriksa perilakunya:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-16 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis guide describes how to prepare an XCTest for testing in\nFirebase Test Lab.\n\n**Step 1**: Configure your project's Derived Data location\n\nXcode places compiled iOS artifacts, including any tests you build, in a Derived\nData directory. It is possible to keep the default location for that directory,\nif you'd like, but it's often helpful to choose a more easily-accessible place\nfor the files, especially if you're going to be running tests with Test Lab\noften:\n\n1. Open your project in Xcode.\n2. In the macOS menu bar, select **File** \\\u003e **Project Settings...**\n3. Change the **Derived Data** drop-down from **Default Location** to **Custom Location**.\n4. In the field below the drop-down, select a location for Xcode to output your tests to. (This is your \u003cvar class=\"edit\" scope=\"FOLDER_WITH_TEST_OUTPUT\" translate=\"no\"\u003eFOLDER_WITH_TEST_OUTPUT\u003c/var\u003e)\n\n**Step 2**: Build a generic test file\n\nTest Lab runs unit tests and UI tests using the\n[XCTest](https://developer.apple.com/documentation/xctest) framework.\nTo run your app's XCTests on Test Lab devices, build it for testing on a\nGeneric iOS Device:\n\n1. From the device drop-down at the top of your Xcode workspace window, select **Generic iOS Device**.\n2. In the macOS menu bar, select **Product** \\\u003e **Build For** \\\u003e **Testing**.\n\nAs an alternative, you can build your XCTest from the command line.\nUse the following command in a terminal: \n\nproject \n\n```\nxcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \\\n -scheme YOUR_SCHEME \\\n -derivedDataPath FOLDER_WITH_TEST_OUTPUT \\\n -sdk iphoneos build-for-testing\n```\n\nworkspace \n\n```\nxcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \\\n -scheme YOUR_SCHEME \\\n -derivedDataPath FOLDER_WITH_TEST_OUTPUT \\\n -sdk iphoneos build-for-testing\n```\n\n**Step 3**: Sign your test and verify\n\n1. Make sure all artifacts in the app and test are signed. For example, you can\n do this through Xcode by specifying signing settings like provisioning profile\n and identity. For more information, see\n [Apple Code Signing](https://developer.apple.com/support/code-signing/).\n\n | **Note** : Test Lab re-signs your app with its own provisioning profile and certificate.\n2. Verify app signature by running\n `codesign --verify --deep --verbose /path/to/MyApp.app` where \"MyApp\" is the\n name of the app inside the unzipped folder. This varies for each project.\n Expected output is `MyApp.app: valid on disk`.\n\n3. If you are running an XCUITest, then you need to verify the test and runner\n by running `codesign --verify --deep --verbose /path/to/MyTest-Runner.app` where\n \"MyTest\" is the name of the runner inside the unzipped folder. This varies for\n each project. Expected output is `MyTest-Runner.app: valid on disk`.\n\n**Step 4**: Package your app and test for uploading\n\n1. After your test successfully builds, zip it for upload to Test Lab:\n\n ```\n cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \\\n zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun\n ```\n\nYou can also package up your test by compressing the test files manually:\n\n1. Open Finder and navigate to\n \u003cvar class=\"edit\" scope=\"FOLDER_WITH_TEST_OUTPUT\" translate=\"no\"\u003eFOLDER_WITH_TEST_OUTPUT\u003c/var\u003e.\n\n2. Open the folder that has your project name as a prefix, then navigate to\n `Build/Products` folder inside.\n\n3. Select the folders `Debug-iphoneos` and\n \u003cvar class=\"edit\" scope=\"YOUR_SCHEME\" translate=\"no\"\u003eYOUR_SCHEME\u003c/var\u003e`_iphoneos`\u003cvar class=\"edit\" scope=\"DEPLOYMENT_TARGET\" translate=\"no\"\u003eDEPLOYMENT_TARGET\u003c/var\u003e`-arm64.xctestrun`\n and then compress them.\n\n**Step 5**: (Optional) Run your test locally\n\nBefore running your test with Test Lab, you can run it locally with\na USB-connected device to quality check its behavior: \n\n```\nxcodebuild test-without-building \\\n -xctestrun \"Derived Data/Build/Products/YOUR_SCHEME.xctestrun\" \\\n -destination id=your-phone-id\n```\n\nNext steps\n\nUpload and run your test in the [Firebase console](/docs/test-lab/ios/firebase-console)\nor the [gcloud CLI](/docs/test-lab/ios/command-line)."]]