Vorbereiten von XCUITest-Tests für den Upload
Wichtig
Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis sie vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie die Migration in Betracht ziehen können.
Erfahren Sie mehr über die Fristen für den Support sowie über mögliche Alternativen.
Dieses Handbuch enthält Anweisungen zum Vorbereiten von XCUITest-Tests für den Upload in App Center Test.
Testdienstanforderungen
- Xcode >= 9.4.1
- iOS >= 9.0
Testdienstbeschränkungen
- Nur die hochgeladene App kann getestet werden, nicht Interaktionen über Apps oder das restliche System.
Build für Tests
Um einen Test im App Center auszuführen, müssen Sie Ihre Anwendung und ein XCUITest-Bündel erstellen. Führen Sie einen der beiden folgenden Befehle aus dem Stammverzeichnis Ihres Anwendungsprojekts aus:
# How to build a xcodeproj
rm -rf DerivedData
xcrun xcodebuild build-for-testing \
-configuration Debug \
-project YOUR_XCODEPROJ \
-sdk iphoneos \
-scheme YOUR_APP_SCHEME \
-derivedDataPath DerivedData
YOUR_XCODEPROJ
sollte auf eine .xcodeproj
Datei verweisen, wahrscheinlich mit PROJECT_NAME.xcodeproj
dem Titel . Wenn Sie eine .xcworkspace
, anstelle -workspace
von -project
. YOUR_APP_SCHEME
sollte das Schema sein, das Sie zum Erstellen Ihrer Anwendung verwenden. Standardmäßig ist sie in der Regel der Name Ihrer Anwendung.
Der xcrun erstellt Ihre App und ein XCUITest-Bündel in das DerivedData/Build
Verzeichnis. Ihr App- und XCUITest-Bündel befinden sich im DerivedData/Build/Products/Debug-iphoneos/
Verzeichnis.
xcrun xcodebuild -list
Hochladen von Tests in das App Center
Nachdem eine Testsuite vorbereitet wurde, richten Sie als Nächstes eine Testausführung ein, um Ihre Tests hochzuladen und auszuführen.
Hier ist ein Beispiel dafür, wie Sie Ihre XCUITest-Suite in App Center Test hochladen können.
# Upload your test to App Center
appcenter test run xcuitest \
--app "APP_ID" \
--devices "DEVICE_SET_ID" \
--test-series "main" \
--locale "en_US" \
--build-dir DerivedData/Build/Products/Debug-iphoneos
Ein konkretes Beispiel für das Übermitteln von Tests an Das App Center finden Sie in diesem Shellskript, das Tests an App Center sendet.
Weitere Screenshots und Testschritte
Am Ende jeder Testmethode wird automatisch ein Screenshot für den Testbericht erstellt. Jeder Screenshot wird im App Center-Testbericht als separater Testschritt angezeigt.
Aktivitäten
Sie können zusätzliche Bezeichnungen und Screenshots für eine Testmethode generieren, indem Sie Ihren Testcode mithilfe von Apple gruppieren Activities
. Weitere Informationen finden Sie unter Gruppieren von Tests in Unterschritte mit Aktivitäten.
Codeausschnitt zum Umschließen von Testcode in einer Aktivität
[XCTContext
runActivityNamed:title
block:^(id<XCTActivity> _Nonnull activity) {
// test code
}];
XCTContext.runActivity(named: title) { (activity) in
// test code
}
Manuelle Screenshots
Ein Screenshot wird automatisch für den Testbericht am Ende jedes Jeden Activity
generiert. Sie können einen Screenshot an einem anderen Punkt innerhalb eines Activity
Screenshots aufzeichnen, indem Sie einen Screenshot mit XCUIScreen erstellen und dann eine Anlage mit XCTAttachment erstellen und dem aktuellen Activity
Hinzufügen hinzufügen. Dieser Screenshot wird in App Center-Testberichten anstelle des Standardfotos am Ende des Activity
Bildschirms angezeigt.
Codeausschnitt zum Generieren und Anfügen eines Screenshots in einer Aktivität
XCUIScreenshot *screenshot = [[XCUIScreen mainScreen] screenshot];
XCTAttachment *attachment;
attachment = [XCTAttachment attachmentWithScreenshot:screenshot];
[attachment setLifetime:XCTAttachmentLifetimeKeepAlways];
[activity addAttachment:attachment];
let screenshot = XCUIScreen.main.screenshot()
let attachment = XCTAttachment(screenshot: screenshot)
attachment.lifetime = .keepAlways
activity.add(attachment)