デバイスプール内のプライベートデバイスの選択 - AWS Device Farm

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

デバイスプール内のプライベートデバイスの選択

テスト実行でプライベートデバイスを使用するために、プライベートデバイスを選択するデバイスプールを作成できます。デバイスプールでは、主に 3 種類のデバイスプールルールを通してプライベートデバイスを選択できます。

  1. デバイスに基づくルール ARN

  2. デバイスインスタンスラベルに基づくルール

  3. デバイスインスタンスに基づくルール ARN

以下のセクションでは、各ルールタイプとユースケースについて詳しく説明します。Device Farm コンソール、 AWS コマンドラインインターフェイス (AWS CLI)、または Device Farm を使用してAPI、これらのルールを使用してプライベートデバイスでデバイスプールを作成または変更できます。

デバイス ARN

デバイスは、特定の物理デバイスインスタンスではなく、デバイスのタイプを表す識別子ARNです。デバイスタイプは次の属性によって定義されます:

  • デバイスのフリート ID

  • デバイスの OEM

  • デバイスのモデル番号

  • デバイスのオペレーティングシステムのバージョン

  • ルート化されているかどうかを示すデバイス状態

多くの物理デバイスインスタンスは 1 つのデバイスタイプで表すことができ、そのタイプのすべてのインスタンスには同じ属性値が割り当てられます。例えば、3 つの Apple iPhone 13 iOS バージョンの デバイス 16.1.0 プライベートフリートでは、各デバイスは同じデバイス を共有しますARN。これらの同じ属性を持つデバイスがフリートに追加または削除された場合、そのデバイスは、そのデバイスタイプでフリートで使用可能なデバイスをすべてARN引き続き表します。

デバイスはARN、デバイスプールのプライベートデバイスを選択する最も堅牢な方法です。これは、デバイスプールが、任意の時点でデプロイした特定のデバイスインスタンスに関係なく、デバイスを選択し続けることができるためです。個々のプライベートデバイスインスタンスにはハードウェア障害が発生する可能性があり、Device Farm はそれらを同じデバイスタイプの新しい動作インスタンスに自動的に交換するよう求められます。これらのシナリオでは、デバイスARNルールにより、ハードウェア障害が発生した場合でもデバイスプールが引き続きデバイスを選択できるようになります。

デバイスプール内のプライベートデバイスに対してデバイスARNルールを使用し、そのプールでテスト実行をスケジュールすると、Device Farm はそのデバイス によって表されるプライベートデバイスインスタンスを自動的に確認しますARN。現在利用可能なインスタンスのうち、そのうちの 1 つがテストの実行に割り当てられます。現在使用可能なインスタンスがない場合、Device Farm は、そのデバイスの最初の使用可能なインスタンスが利用可能ARNになるまで待機し、テストを実行するために割り当てます。

デバイスインスタンスラベル

デバイスインスタンスラベルは、デバイスインスタンスのメタデータとしてアタッチできるテキスト識別子です。各デバイスインスタンスには複数のラベルを、複数のデバイスインスタンスには同じラベルをアタッチできます。デバイスインスタンスでデバイスラベルを追加、変更、削除する方法について詳しくは、「プライベートデバイスの管理」を参照してください。

デバイスインスタンスラベルは、デバイスプール用のプライベートデバイスを確実に選択する方法になります。同じラベルのデバイスインスタンスが複数ある場合、デバイスプールはそれらの中からテスト対象として 1 つを選択できるからです。デバイスがユースケースに適したルールARNではない場合 (例えば、複数のデバイスタイプのデバイスから選択する場合や、デバイスタイプのすべてのデバイスのサブセットから選択する場合)、デバイスインスタンスラベルを使用すると、デバイスプールの複数のデバイスをより詳細に選択できます。個々のプライベートデバイスインスタンスにはハードウェア障害が発生する可能性があり、Device Farm はそれらを同じデバイスタイプの新しい動作インスタンスに自動的に交換するよう求められます。このようなシナリオでは、交換後のデバイスインスタンスには、交換されたデバイスのインスタンスラベルメタデータは保持されません。そのため、同じデバイスインスタンスラベルを複数のデバイスインスタンスに適用すると、デバイスインスタンスラベルルールにより、ハードウェア障害が発生した場合でもデバイスプールが引き続きデバイスインスタンスを選択できるようになります。

デバイスプール内のプライベートデバイスにデバイスインスタンスラベルルールを使用し、そのプールでのテスト実行をスケジュールすると、Device Farm はどのプライベートデバイスインスタンスがそのデバイスインスタンスラベルで表されているかを自動的に確認し、それらのインスタンスのうち、テストを実行できるインスタンスをランダムに選択します。使用可能なものがない場合、Device Farm はデバイスインスタンスラベルの付いたデバイスインスタンスをランダムに選択してテストを実行し、使用可能になったらデバイス上で実行するテストをキューに入れます。

インスタンス ARN

デバイスインスタンスARNは、プライベートフリートにデプロイされた物理ベアメタルデバイスインスタンスを表す識別子です。例えば、3 つの iPhone 13 OS 上の デバイス 15.0.0 プライベートフリートでは、各デバイスは同じデバイス を共有しますがARN、各デバイスにはそのインスタンスのみARNを表す独自のインスタンスもあります。

デバイスインスタンスARNは、デバイスプールのプライベートデバイスを選択する最も堅牢でない方法であり、デバイスARNsとデバイスインスタンスのラベルがユースケースに合わない場合にのみ推奨されます。デバイスインスタンスARNsは、テストの前提条件として特定のデバイスインスタンスが一意かつ特定の方法で設定されている場合、およびテストを実行する前にその設定を確認して検証する必要がある場合に、デバイスプールのルールとしてよく使用されます。個々のプライベートデバイスインスタンスにはハードウェア障害が発生する可能性があり、Device Farm はそれらを同じデバイスタイプの新しい動作インスタンスに自動的に交換するよう求められます。これらのシナリオでは、代替デバイスインスタンスは、置き換えられたデバイスARNとは異なるデバイスインスタンスを持ちます。そのため、ARNsデバイスプールのデバイスインスタンスに依存する場合は、デバイスプールのルール定義を古い から新しい ARNに手動で変更する必要がありますARN。テスト用にデバイスを手動で事前設定する必要がある場合、これは (デバイス と比較して) 効果的なワークフローになる可能性がありますARNs。大規模なテストを行う場合は、これらのユースケースをデバイスインスタンスラベルに合わせて調整し、可能であれば複数のデバイスインスタンスをテスト用に事前構成しておくことをお勧めします。

デバイスプール内のプライベートデバイスにデバイスインスタンスARNルールを使用して、そのプールでテスト実行をスケジュールすると、Device Farm はそのテストをそのデバイスインスタンスに自動的に割り当てます。そのデバイスインスタンスが使用できない場合、使用可能になると Device Farm がデバイスでテストをキューに入れます。

プライベートデバイスによるプライベートデバイスプールの作成 (コンソール)

テスト実行を作成するときに、テスト実行用のデバイスプールを作成し、そのプールにプライベートデバイスのみが含まれるようにします。

注記

コンソールでプライベートデバイスを使用してデバイスプールを作成する場合、プライベートデバイスの選択に使用できるのは 3 つのルールの 1 つだけです。プライベートデバイスの複数のタイプのルールを含むデバイスプールを作成する場合 (デバイスARNsおよびデバイスインスタンスのルールを含むデバイスプールなどARNs)、 CLIまたは を使用してプールを作成する必要がありますAPI。

  1. で Device Farm コンソールを開きますhttps://console.aws.amazon.com/devicefarm/

  2. Device Farm ナビゲーションパネルで、[モバイルデバイスのテスト] を選択して、[プロジェクト] を選択します。

  3. リストから既存のプロジェクトを選択するか、新規プロジェクトを作成します。新しいプロジェクトを作成する場合は、[新規プロジェクト] を選択し、プロジェクトの名前を入力し、[送信] を選択します。

  4. [自動テスト] を選択後、[新規実行を作成] を選択します。ウィザードの指示に従ってアプリケーションを選択し、実行するテストを構成します。

  5. [デバイスを選択] ステップで、[デバイスプールを作成] を選択し、デバイスプールの名前とオプションの説明を入力します。

    1. デバイスプールにデバイスARNルールを使用するには、静的デバイスプールの作成 を選択し、デバイスプールで使用する特定のデバイスタイプをリストから選択します。プライベートデバイスインスタンスのみを選択しないでください。このオプションを指定すると、デバイスプールは (デバイスARNルールではなく) デバイスインスタンスARNルールで作成されます。

      Device selection method options for creating a static or dynamic device pool.
    2. デバイスプールにデバイスインスタンスラベルルールを使用するには、[動的デバイスプールを作成] を選択します。次に、デバイスプールで使用したいラベルごとに [ルールを追加] を選択します。ルールごとに、[インスタンスラベル]Field として選択し、[含む]Operator として選択し、必要なデバイスインスタンスラベルを Value として指定します。

      Device pool creation interface with dynamic selection method and attribute filter options.
    3. デバイスプールにデバイスインスタンスARNルールを使用するには、静的デバイスプールの作成 を選択しプライベートデバイスインスタンスのみを選択して、デバイスのリストをDevice Farm が AWS アカウントに関連付けたプライベートデバイスインスタンスのみに制限します。

      Device selection options for creating a static device pool with private instances.
  6. [作成] を選択します。

プライベートデバイスを含むプライベートデバイスプールの作成 (AWS CLI)

で Device Farm を使用する方法については、 AWS CLI「」を参照してくださいAWS CLI リファレンス

プライベートデバイスを使用したプライベートデバイスプールの作成 (API)

Device Farm の使用については、API「」を参照してくださいDevice Farm の自動化