カスタムテスト環境を新しい iOS テストホストに移行する - AWS Device Farm

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

カスタムテスト環境を新しい iOS テストホストに移行する

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

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

チュートリアル: コンソールを使用した iOS テスト仕様ファイルの移行

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

ステップ 1: コンソールを使用して新しいテスト仕様ファイルを作成する

  1. AWS Device Farm コンソールにサインインします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

リファレンスとして使用できるテスト仕様ファイルの例については、「」で提供されている例を参照してくださいテスト仕様の例

ステップ 2: プリインストールされたソフトウェアを選択する

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

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

- devicefarm-cli use java 17

サポートされているソフトウェアの詳細については、「」を参照してくださいカスタムテスト環境内でサポートされているソフトウェア

ステップ 3: ソフトウェア選択ツールによる Appium とその依存関係の使用

新しいテストホストは 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 バージョンの選択「」および「」を参照してくださいAppium テストの環境変数

新しいテストホストとレガシーテストホストの違い

新しい iOS テストホストを使用するようにテスト仕様ファイルを編集し、レガシーテストホストからテストを移行する場合は、以下の主な環境の違いに注意してください。

  • Xcode バージョン: レガシーテストホスト環境では、使用可能な Xcode バージョンは、テストに使用されるデバイスの iOS バージョンに基づいていました。たとえば、iOS 18 デバイスのテストではレガシーホストで Xcode 16 が使用され、iOS 17 のテストでは Xcode 15 が使用されました。新しいホスト環境では、すべてのデバイスが同じバージョンの Xcode にアクセスできるため、異なるバージョンのデバイスでのテストに一貫した環境を使用できます。現在利用可能な Xcode バージョンのリストについては、「」を参照してください対応ソフトウェア

  • ソフトウェアバージョンの選択: 多くの場合、デフォルトのソフトウェアバージョンが変更されているため、レガシーテストホストでソフトウェアバージョンを明示的に選択していない場合は、 を使用して新しいテストホストで指定できますdevicefarm-cli。ほとんどのユースケースで、お客様はご使用のソフトウェアのバージョンを選択することが推奨されます。でソフトウェアバージョンを選択すると、予測可能で一貫したエクスペリエンスdevicefarm-cliが得られ、Device Farm がテストホストからそのバージョンを削除する予定がある場合は、十分な警告が表示されます。

    さらに、nvmpyenv avmrvm などのソフトウェア選択ツールは削除され、新しい devicefarm-cli ソフトウェア選択システムが採用されました。

  • 利用可能なソフトウェアバージョン: 以前にプリインストールされたソフトウェアの多くのバージョンが削除され、多くの新しいバージョンが追加されました。そのため、devicefarm-cli を使用してソフトウェアバージョンを選択する際は、必ずサポート対象バージョンリストにあるバージョンを選択してください。

  • ツールlibimobiledeviceスイートは、現在の iOS デバイスのテストと業界標準を追跡するための新しい/ファーストパーティーツールに代わって削除されました。iOS 17 以降では、ほとんどのコマンドを移行して、 と呼ばれる同様の Xcode ツールを使用できますdevicectl。の詳細についてはdevicectl、Xcode がインストールされたマシンxcrun devicectl helpから を実行できます。

  • 絶対パスとしてレガシーホストのテスト仕様ファイルでハードコードされたファイルパスは、新しいテストホストでは期待どおりに動作しない可能性が高く、通常はテスト仕様ファイルの使用には推奨されません。すべてのテスト仕様ファイルコードで相対パスと環境変数を使用することをお勧めします。詳細については、「」のトピックを参照してくださいカスタムテスト環境実行のベストプラクティス

  • オペレーティングシステムのバージョンとアーキテクチャ: レガシーテストホストは、割り当てられたデバイスに基づいてさまざまな macOS バージョンと CPU アーキテクチャを使用していました。その結果、ユーザーは環境で使用可能なシステムライブラリにいくつかの違いに気付くことがあります。以前のホスト OS バージョンの詳細については、「」を参照してくださいレガシー iOS テストホスト

  • Appium ユーザーの場合、WebDriverAgent を選択する方法は、古いプレフィックス DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_Vではなく、使用環境変数 DEVICEFARM_WDA_DERIVED_DATA_PATH_Vプレフィックスに変更されました。更新された変数の詳細については、「」を参照してくださいAppium テストの環境変数

  • Appium Java ユーザーの場合、新しいテストホストにはクラスパスにプリインストールされた JAR ファイルが含まれていませんが、前のホストには TestNG フレームワーク用の JAR ファイルが含まれていました (環境変数 経由$DEVICEFARM_TESTNG_JAR)。お客様には、テストフレームワークに必要な JAR ファイルをテストパッケージ内にパッケージ化し、テスト仕様ファイルから $DEVICEFARM_TESTNG_JAR 変数のインスタンスを削除することをお勧めします。

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