

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

# カスタムテスト環境を新しい iOS テストホストに移行する
<a name="ios-host-migration"></a>

 既存のテストをレガシーホストから新しい macOS テストホストに移行するには、既存のテスト仕様ファイルに基づいて新しいテスト仕様ファイルを開発する必要があります。

 推奨されるアプローチは、目的のテストタイプのサンプルテスト仕様ファイルから開始し、関連するコマンドを古いテスト仕様ファイルから新しいテスト仕様ファイルに移行することです。これにより、既存のコードを再利用しながら、新しいホストのテスト仕様例の新機能と最適化を活用できます。

**Topics**
+ [チュートリアル: コンソールを使用した iOS テスト仕様ファイルの移行](#ios-host-migration-console-tutorial)
+ [新しいテストホストとレガシーテストホストの違い](#ios-host-migration-differences)

## チュートリアル: コンソールを使用した iOS テスト仕様ファイルの移行
<a name="ios-host-migration-console-tutorial"></a>

 この例では、Device Farm コンソールを使用して既存の iOS デバイステスト仕様をオンボードし、新しいテストホストを使用します。

### ステップ 1: コンソールを使用して新しいテスト仕様ファイルを作成する
<a name="ios-host-migration-console-tutorial-step1"></a>

1. [AWS Device Farm コンソール](https://console.aws.amazon.com/devicefarm)にサインインします。

1. 自動化テストを含む Device Farm プロジェクトに移動します。

1. オンボードする既存のテスト仕様のコピーをダウンロードします。

   1. 「プロジェクト設定**」オプションをクリックし、アップロード**タブに移動します。

   1. オンボードするテスト仕様ファイルに移動します。

   1. **ダウンロード**ボタンをクリックして、このファイルのローカルコピーを作成します。

1. プロジェクトページに戻り、**実行の作成**をクリックします。

1. ウィザードのオプションを、新しい実行を開始するかのように入力しますが、**テスト仕様の選択**オプションで停止します。

1. デフォルトで選択された iOS テスト仕様を使用して、**テスト仕様の作成**ボタンをクリックします。

1. テキストエディタで*デフォルトで*選択されたテスト仕様を変更します。

   1.  まだ存在しない場合は、以下を使用してテスト仕様ファイルを変更して新しいホストを選択します。

      ```
      ios_test_host: macos_sequoia
      ```

   1. 前のステップでダウンロードしたテスト仕様のコピーから、各 を確認します` phase`。

   1.  Java、Python、Node.js、Ruby、Appium、または Xcode のインストールまたは選択に関連するコマンドを無視して、古いテスト仕様のフェーズから新しいテスト仕様の各フェーズにコマンドをコピーします。

1.  **** テキストボックスに新しいファイル名を入力します。

1.  変更を保存するには、**新しい名前で保存**ボタンをクリックします。

 リファレンスとして使用できるテスト仕様ファイルの例については、「」で提供されている例を参照してください[テスト仕様の例](custom-test-environment-test-spec.md#custom-test-environment-test-spec-example)。

### ステップ 2: プリインストールされたソフトウェアを選択する
<a name="ios-host-migration-console-tutorial-step2"></a>

 新しいテストホストでは、 という新しい標準化バージョン管理ツールを使用して、プリインストールされたソフトウェアバージョンが選択されます`devicefarm-cli`。このツールは、テストホストで提供されているさまざまなソフトウェアを使用するための推奨アプローチになりました。

 たとえば、次の行を追加して、テスト環境の別の JDK 17 を使用します。

```
- devicefarm-cli use java 17
```

 サポートされているソフトウェアの詳細については、「」を参照してください[カスタムテスト環境内でサポートされているソフトウェア](custom-test-environments-hosts-software.md)。

### ステップ 3: ソフトウェア選択ツールによる Appium とその依存関係の使用
<a name="ios-host-migration-console-tutorial-step3"></a>

 新しいテストホストは Appium 2.x 以降のみをサポートしています。などのレガシーツールを削除しながら`devicefarm-cli`、 を使用して Appium バージョンを明示的に選択してください` avm`。例えば、次のようになります。

```
# This line using 'avm' should be removed
# - avm 2.3.1

# And the following lines should be added
- devicefarm-cli use appium 2 # Selects the version
- appium --version            # Prints the version
```

で選択された Appium バージョン`devicefarm-cli`には、互換性のあるバージョンの iOS 用 XCUITest ドライバーがプリインストールされています。

 さらに、 ` DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9`の代わりに を使用するようにテスト仕様を更新する必要があります` DEVICEFARM_WDA_DERIVED_DATA_PATH`。新しい環境変数は、Appium 2 テストでサポートされている最新バージョンである WebDriverAgent 9.x のビルド済みバージョンを指します。

詳細については、[iOS テスト用の WebDriverAgent バージョンの選択](test-types-appium.md#test-types-appium-select-wda)「」および「」を参照してください[Appium テストの環境変数](custom-test-environment-variables.md#custom-test-environment-variables-appium)。

## 新しいテストホストとレガシーテストホストの違い
<a name="ios-host-migration-differences"></a>

 新しい iOS テストホストを使用するようにテスト仕様ファイルを編集し、レガシーテストホストからテストを移行する場合は、以下の主な環境の違いに注意してください。
+  ** Xcode バージョン: ** レガシーテストホスト環境では、使用可能な Xcode バージョンは、テストに使用されるデバイスの iOS バージョンに基づいていました。たとえば、iOS 18 デバイスのテストではレガシーホストで Xcode 16 が使用され、iOS 17 のテストでは Xcode 15 が使用されました。新しいホスト環境では、すべてのデバイスが同じバージョンの Xcode にアクセスできるため、異なるバージョンのデバイスでテストするための一貫した環境が可能になります。現在利用可能な Xcode バージョンのリストについては、「」を参照してください[対応ソフトウェア](custom-test-environments-hosts-software.md)。
+  ** ソフトウェアバージョンの選択: ** 多くの場合、デフォルトのソフトウェアバージョンが変更されているため、レガシーテストホストでソフトウェアバージョンを明示的に選択していない場合は、 を使用して新しいテストホストで指定できます[`devicefarm-cli`](custom-test-environments-hosts-software-cli.md)。ほとんどのユースケースで、お客様はご使用のソフトウェアのバージョンを選択することが推奨されます。でソフトウェアバージョンを選択すると、予測可能で一貫したエクスペリエンス`devicefarm-cli`が得られ、Device Farm がテストホストからそのバージョンを削除する予定がある場合は、十分な警告が表示されます。

   さらに、`nvm`、`pyenv`、` avm`、`rvm` などのソフトウェア選択ツールは削除され、新しい ` devicefarm-cli` ソフトウェア選択システムが採用されました。
+  ** 利用可能なソフトウェアバージョン: ** 以前にプリインストールされたソフトウェアの多くのバージョンが削除され、多くの新しいバージョンが追加されました。そのため、`devicefarm-cli` を使用してソフトウェアバージョンを選択する際は、必ず[サポート対象バージョンリスト](custom-test-environments-hosts-software.md)にあるバージョンを選択してください。
+  ツール**`libimobiledevice`スイートは、現在の iOS デバイスのテストと業界標準を追跡するために、新しい/ファーストパーティーツールを優先して削除されました**。iOS 17 以降では、ほとんどのコマンドを移行して、 と呼ばれる同様の Xcode ツールを使用できます`devicectl`。の詳細については`devicectl`、Xcode がインストールされたマシン`xcrun devicectl help`から を実行できます。
+  絶対**パスとしてレガシーホストのテスト仕様ファイルでハードコードされたファイル**パスは、新しいテストホストでは期待どおりに動作しない可能性が高く、通常はテスト仕様ファイルの使用には推奨されません。すべてのテスト仕様ファイルコードで相対パスと環境変数を使用することをお勧めします。詳細については、「」のトピックを参照してください[カスタムテスト環境実行のベストプラクティス](custom-test-environments-best-practices.md)。
+  ** オペレーティングシステムのバージョンとアーキテクチャ: ** レガシーテストホストは、割り当てられたデバイスに基づいてさまざまな macOS バージョンと CPU アーキテクチャを使用していました。その結果、ユーザーは環境で使用可能なシステムライブラリにいくつかの違いに気付くことがあります。以前のホスト OS バージョンの詳細については、「」を参照してください[レガシー iOS テストホスト](custom-test-environments-hosts-ios.md#legacy-ios-host)。
+  **Appium ユーザーの場合**、WebDriverAgent を選択する方法は、古いプレフィックス` DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V`ではなく、使用環境変数` DEVICEFARM_WDA_DERIVED_DATA_PATH_V`プレフィックスに変更されました。更新された変数の詳細については、「」を参照してください[Appium テストの環境変数](custom-test-environment-variables.md#custom-test-environment-variables-appium)。
+  **Appium Java** ユーザーの場合、新しいテストホストにはクラスパスにプリインストールされた JAR ファイルが含まれていませんが、前のホストには TestNG フレームワーク用の JAR ファイルが含まれていました (環境変数 経由`$DEVICEFARM_TESTNG_JAR`)。お客様には、テストフレームワークに必要な JAR ファイルをテストパッケージ内にパッケージ化し、テスト仕様ファイルから `$DEVICEFARM_TESTNG_JAR` 変数のインスタンスを削除することをお勧めします。

 ソフトウェアの観点からテストホスト間の違いについてフィードバックや質問がある場合は、サポートケースを通じてサービスチームに連絡することをお勧めします。