次の方法で共有


アップロード用の 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)