Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In dieser Anleitung wird beschrieben, wie Sie einen XCTest für Tests in Firebase Test Lab vorbereiten.
Schritt 1: Speicherort für abgeleitete Daten Ihres Projekts konfigurieren
Xcode platziert kompilierte iOS-Artefakte, einschließlich aller Tests, die Sie erstellen, in einem Derived Data-Verzeichnis. Sie können den Standardspeicherort für dieses Verzeichnis beibehalten, aber es ist oft hilfreich, einen leichter zugänglichen Ort für die Dateien auszuwählen, insbesondere wenn Sie häufig Tests mit Test Lab durchführen:
Öffnen Sie Ihr Projekt in Xcode.
Wählen Sie in der macOS-Menüleiste Datei > Projekteinstellungen… aus.
Ändern Sie das Drop-down-Menü Abgeleitete Daten von Standardspeicherort in Benutzerdefinierter Speicherort.
Wählen Sie im Feld unter dem Drop-down-Menü einen Speicherort aus, an dem Xcode Ihre Tests ausgeben soll. (Das ist dein
FOLDER_WITH_TEST_OUTPUT)
Schritt 2: Allgemeine Testdatei erstellen
Test Lab führt Unit- und UI-Tests mit dem XCTest-Framework aus.
Wenn Sie die XCTests Ihrer App auf Test Lab-Geräten ausführen möchten, erstellen Sie sie für Tests auf einem generischen iOS-Gerät:
Wählen Sie im Drop-down-Menü für Geräte oben im Xcode-Arbeitsbereichfenster Generic iOS Device (Allgemeines iOS-Gerät) aus.
Wählen Sie in der macOS-Menüleiste Produkt > Erstellen für > Test aus.
Alternativ können Sie Ihren XCTest über die Befehlszeile erstellen.
Verwenden Sie den folgenden Befehl in einem Terminal:
Alle Artefakte in der App und im Test müssen signiert sein. Sie können dies beispielsweise in Xcode tun, indem Sie Signierungseinstellungen wie Bereitstellungsprofil und Identität angeben. Weitere Informationen finden Sie unter Apple-Codesignatur.
Prüfen Sie die App-Signatur, indem Sie codesign --verify --deep --verbose /path/to/MyApp.app ausführen. Dabei ist „MyApp“ der Name der App im entzippten Ordner. Das variiert je nach Projekt.
Die erwartete Ausgabe ist MyApp.app: valid on disk.
Wenn Sie einen XCUITest ausführen, müssen Sie den Test und den Runner mit dem Befehl codesign --verify --deep --verbose /path/to/MyTest-Runner.app überprüfen. Dabei ist „MyTest“ der Name des Runners im entzippten Ordner. Das variiert je nach Projekt. Die erwartete Ausgabe ist MyTest-Runner.app: valid on disk.
Schritt 4: App verpacken und Upload testen
Nachdem der Test erfolgreich erstellt wurde, zippen Sie ihn für den Upload zu Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Sie können Ihren Test auch verpacken, indem Sie die Testdateien manuell komprimieren:
Öffnen Sie den Finder und wechseln Sie zu FOLDER_WITH_TEST_OUTPUT.
Öffnen Sie den Ordner, dessen Name mit Ihrem Projektnamen beginnt, und rufen Sie dann den Ordner Build/Products auf.
Wählen Sie die Ordner Debug-iphoneos und YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun aus und komprimieren Sie sie.
Schritt 5: (Optional) Test lokal ausführen
Bevor Sie Ihren Test mit Test Lab ausführen, können Sie ihn lokal mit einem über USB verbundenen Gerät ausführen, um das Verhalten zu prüfen:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-03 (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)."]]