In dieser Anleitung wird beschrieben, wie Sie einen XCTest für den Test im Firebase Test Lab vorbereiten.
Schritt 1 : Konfigurieren Sie den Speicherort der abgeleiteten Daten Ihres Projekts
Xcode platziert kompilierte iOS-Artefakte, einschließlich aller von Ihnen erstellten Tests, in einem Verzeichnis abgeleiteter Daten. Es ist möglich, den Standardspeicherort für dieses Verzeichnis beizubehalten, wenn Sie möchten. Oft ist es jedoch hilfreich, einen leichter zugänglichen Speicherort für die Dateien zu wählen, insbesondere wenn Sie häufig Tests mit Test Lab ausführen:
- Öffnen Sie Ihr Projekt in Xcode.
- Wählen Sie in der macOS-Menüleiste Datei > Projekteinstellungen... aus.
- Ändern Sie das Dropdown-Menü „Abgeleitete Daten“ von „Standardspeicherort“ in „Benutzerdefinierter Speicherort“ .
- Wählen Sie im Feld unter dem Dropdown-Menü einen Speicherort aus, an den Xcode Ihre Tests ausgeben soll. (Dies ist Ihr FOLDER_WITH_TEST_OUTPUT )
Schritt 2 : Erstellen Sie eine generische Testdatei
Test Lab führt Unit-Tests und UI-Tests mit dem XCTest- Framework durch. Um die XCTests Ihrer App auf Testlaborgeräten auszuführen, erstellen Sie sie zum Testen auf einem generischen iOS-Gerät:
- Wählen Sie im Dropdown-Menü „Gerät“ oben in Ihrem Xcode-Arbeitsbereichsfenster die Option „Generisches iOS-Gerät“ aus.
- Wählen Sie in der macOS-Menüleiste Produkt > Erstellen für > Testen aus.
Alternativ können Sie Ihren XCTest über die Befehlszeile erstellen. Verwenden Sie den folgenden Befehl in einem Terminal:
Projekt
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Arbeitsplatz
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Schritt 3 : Unterschreiben Sie Ihren Test und überprüfen Sie ihn
Stellen Sie sicher, dass alle Artefakte in der App und im Test signiert sind. Sie können dies beispielsweise über Xcode tun, indem Sie Signatureinstellungen wie Bereitstellungsprofil und Identität angeben. Weitere Informationen finden Sie unter Apple Code Signing .
Überprüfen Sie die App-Signatur, indem Sie
codesign --verify --deep --verbose /path/to/MyApp.app
ausführen, wobei „MyApp“ der Name der App im entpackten Ordner ist. Dies variiert je nach Projekt. Die erwartete Ausgabe istMyApp.app: valid on disk
.Wenn Sie einen XCUITest ausführen, müssen Sie den Test und den Läufer überprüfen, indem Sie
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
ausführen, wobei „MyTest“ der Name des Läufers im Inneren ist entpackter Ordner. Dies variiert je nach Projekt. Die erwartete Ausgabe istMyTest-Runner.app: valid on disk
.
Schritt 4 : Verpacken Sie Ihre App und testen Sie sie zum Hochladen
Nachdem Ihr Test erfolgreich erstellt wurde, komprimieren Sie ihn zum Hochladen in das Testlabor:
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 navigieren Sie zu
FOLDER_WITH_TEST_OUTPUT
.Öffnen Sie den Ordner mit Ihrem Projektnamen als Präfix und navigieren Sie dann zum Ordner
Build/Products
.Wählen Sie die Ordner
Debug-iphoneos
undYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
aus und komprimieren Sie sie anschließend.
Schritt 5 : (Optional) Führen Sie Ihren Test lokal aus
Bevor Sie Ihren Test mit Test Lab ausführen, können Sie ihn lokal mit einem über USB angeschlossenen Gerät ausführen, um sein Verhalten auf Qualität zu prüfen:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Nächste Schritte
Laden Sie Ihren Test hoch und führen Sie ihn in der Firebase-Konsole oder der gcloud-CLI aus.