アップロード用の XCUITest テストの準備
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
このガイドでは、App Center テストにアップロードするための XCUITest テストを準備する手順について説明します。
テスト サービスの要件
- Xcode >= 9.4.1
- iOS >= 9.0
注意
Xcode 12 と iOS 14 が利用可能になりました。
テスト サービスの制限事項
- アプリやシステムの残りの部分を介した操作ではなく、アップロードされたアプリのみをテストできます。
テスト用のビルド
App Center でテストを実行するには、アプリケーションと XCUITest バンドルをビルドする必要があります。 アプリケーション プロジェクト ディレクトリのルートから、次の 2 つのコマンドのいずれかを実行します。
# 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
は、 という名前PROJECT_NAME.xcodeproj
のファイルを.xcodeproj
指している必要があります。 を使用する場合は.xcworkspace
、 ではなく -project
を使用-workspace
します。 YOUR_APP_SCHEME
は、アプリケーションのビルドに使用するスキームである必要があります。 既定では、通常はアプリケーションの名前です。
xcrun によって、アプリと XCUITest バンドルがディレクトリに DerivedData/Build
ビルドされます。 アプリと XCUITest バンドルは ディレクトリに DerivedData/Build/Products/Debug-iphoneos/
配置されます。
xcrun xcodebuild -list
App Center へのテストのアップロード
テスト スイートを準備したら、次 にテストをセットアップして、テスト をアップロードして実行します。
XCUITest スイートを App Center Test にアップロードする方法の例を次に示します。
# 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
App Center にテストを送信する具体的な例については、App Center に テストを送信するこのシェル スクリプトを参照してください。
その他のスクリーンショットとテスト手順
各テスト メソッドの最後に、テスト レポートのスクリーンショットが自動的に取得されます。 各スクリーンショットは、App Center テスト レポートに個別の テスト ステップとして表示されます。
Activities
Apple の を使用してテスト コードをグループ化することで、テスト メソッドの追加の Activities
ラベルとスクリーンショットを生成できます。 詳細については、「 アクティビティを使用してテストをサブステップにグループ化する」を参照してください。
アクティビティでテスト コードをラップするコード スニペット
[XCTContext
runActivityNamed:title
block:^(id<XCTActivity> _Nonnull activity) {
// test code
}];
XCTContext.runActivity(named: title) { (activity) in
// test code
}
手動のスクリーンショット
各 Activity
の末尾にあるテスト レポートのスクリーンショットが自動的に生成されます。 内の別のポイント Activity
でスクリーンショットを記録するには、 XCUIScreen を使用してスクリーンショットを撮り、 XCTAttachment を使用して添付ファイルを作成し、それを現在 Activity
の に追加します。 このスクリーンショットは、 の末尾にある既定のスクリーンショットではなく、App Center テスト レポートに Activity
表示されます。
アクティビティでスクリーンショットを生成して添付するコード スニペット
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)