

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 標準テスト環境からカスタムテスト環境へのテストの移行
<a name="custom-test-environment-migration"></a>

AWS Device Farm では、標準テスト実行モードからカスタム実行モードに切り替えることができます。移行には主に 2 つの異なる実行形式が含まれます:

1. **標準モード**: このテスト実行モードは、主に、詳細なレポートと完全管理された環境をお客様に提供するために構築されています。

1. **カスタムモード**: このテスト実行モードは、より迅速なテスト実行、リフトアンドシフトによるローカル環境と同等の機能、およびライブビデオストリーミングを必要とするさまざまなユースケース向けに構築されています。

Device Farm の標準モードとカスタムモードの詳細については、「[AWS Device Farm でのテスト環境](test-environments.md)」と「[AWS Device Farm のカスタムテスト環境](custom-test-environments.md)」を参照してください。

## 移行する際の考慮事項
<a name="considerations-when-migrating"></a>

このセクションでは、カスタムモードへの移行時に考慮すべき主な使用事例をいくつか挙げます:

1. **速度**: 標準実行モードで Device Farm は、特定のフレームワークのパッケージ化手順によりパッケージ化とアップロードを行ったテストのメタデータを解析します。解析により、パッケージ内のテスト数が検出されます。その後、Device Farm は各テストを個別に実行し、各テストのログ、ビデオ、他の結果アーティファクトを個別に表示します。ただし、サービス側ではテストの前処理と後処理、結果アーティファクトが発生するため、エンドツーエンドのテスト実行時間合計が着実に長くなります。

   これとは対照的に、カスタム実行モードではテストパッケージが解析されません。つまり、テストや結果アーティファクトの前処理や後処理は最小限に抑えられます。その結果、エンドツーエンドの実行時間合計はローカル設定に近いものになります。テストは、ローカルマシンで実行した場合と同じ形式で実行されます。テストの結果はローカルで取得したものと同じで、ジョブ実行の終了時にダウンロードできます。

1. **カスタマイズまたは柔軟性**: 標準実行モードでは、テストパッケージを解析してテスト数を検出し、各テストを個別に実行します。テストが指定した順序で実行される保証はないことに注意してください。その結果、特定の実行順序を必要とするテストが期待どおりに動作しない場合があります。さらに、ホストマシン環境をカスタマイズしたり、特定方法でテストを実行するために必要な可能性のある構成ファイルを渡す方法もありません。

   対照的に、カスタムモードでは、追加ソフトウェアのインストール、テストへのフィルターの受け渡し、構成ファイルの受け渡し、テスト実行設定の制御など、ホストマシン環境を構成できます。これは yaml ファイル (testspec ファイルとも呼ばれます) を使用して実現します。yaml ファイルは、シェルコマンドを追加することで変更できます。この yaml ファイルはシェルスクリプトに変換され、テストホストマシン上で実行されます。複数の yaml ファイルを保存し、実行をスケジュールする際に要件に応じて動的に 1 つを選択できます。

1. **ライブビデオとロギング**: 標準実行モードとカスタム実行モードの両方で、テスト用のビデオとログが表示されます。ただし、標準モードでは、テストが完了して初めて、テストのビデオと定義済みのログが取得されます。

   これとは対照的に、カスタムモードではテストのビデオのライブストリームとクライアント側ログを提供します。さらに、テストの最後にビデオや他のアーティファクトをダウンロードすることもできます。

**ヒント**  
ユースケースに上記の要素のうち少なくとも 1 つが含まれる場合は、カスタム実行モードに切り替えることを強くお勧めします。

## 移行手順
<a name="migrating-to-custom"></a>

標準モードからカスタムモードに移行するには、次の操作を行います:

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/devicefarm/](https://console.aws.amazon.com/devicefarm/) で Device Farm コンソールを開きます。

1. プロジェクトを選択し、新しい自動化実行を開始します。

1. アプリをアップロード (または `web app` を選択) し、テストフレームワークの種類を選択し、テストパッケージをアップロードします。次に「`Choose your execution environment`」パラメーターの下で「`Run your test in a custom environment`」へのオプションを選択します。

1. デフォルトでは、Device Farm のサンプルテスト仕様ファイルが表示され、表示および編集できます。このサンプルファイルは、[カスタム環境モード](https://docs.aws.amazon.com/devicefarm/latest/developerguide/custom-test-environments.html)でテストを試す際の出発点として使用できます。次に、コンソールからテストが正しく動作していることを確認したら、API、CLI、および、Device Farm とのパイプライン統合を変更し、テスト実行をスケジュールする際にこのテスト仕様ファイルをパラメータとして使用できます。テスト仕様ファイルを実行用パラメータとして追加する方法については、「[API ガイド](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html)」の `ScheduleRun` API の「`testSpecArn` パラメータ」セクションを参照してください。

## Appium フレームワーク
<a name="custom-test-environment-migration-appium"></a>

カスタムテスト環境において、Device Farm は、Appium フレームワークテストでの Appium 機能の挿入または上書きを行いません。テストの Appium 機能は、テスト仕様 YAML ファイルまたはテストコードで指定する必要があります。

## Android 実装
<a name="custom-test-environment-migration-instrumentation"></a>

Android 実装テストをカスタムテスト環境に移行する際、変更は必要ありません。

## iOS XCUITest
<a name="custom-test-environment-migration-xcuitest"></a>

iOS XCUITest テストをカスタムテスト環境に移行する際、変更は必要ありません。