

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

# AWS Device Farm でのテスト実行
<a name="runs"></a>

Device Farm の実行により、特定の一連のテストを使用して、特定の一連のデバイスで実行されるアプリケーションの特定のビルドが表されます。実行では、実行の結果に関する情報を含むレポートが作成されます。実行には、1 つ以上のジョブが含まれます。詳細については、「[実行](test-runs.md)」を参照してください。

AWS Device Farm コンソール、 AWS Command Line Interface (AWS CLI)、または AWS Device Farm API を使用して、テストランを操作できます。

**Topics**
+ [Device Farm でのテスト実行の作成](how-to-create-test-run.md)
+ [AWS Device Farm におけるテスト実行の実行タイムアウトの設定](how-to-set-default-timeout-for-test-runs.md)
+ [AWS Device Farm 実行用のネットワークの接続と条件のシミュレーション](how-to-simulate-network-connections-and-conditions.md)
+ [AWS Device Farm での実行の停止](how-to-stop-test-runs.md)
+ [AWS Device Farm での実行リストの表示](how-to-view-runs-list.md)
+ [AWS Device Farm でのデバイスプールの作成](how-to-create-device-pool.md)
+ [AWS Device Farm でのテスト結果の分析](analyzing-results.md)

# Device Farm でのテスト実行の作成
<a name="how-to-create-test-run"></a>

Device Farm コンソール AWS CLI、または Device Farm API を使用してテストランを作成できます。また、サポートされているプラグイン (例: Device Farm 用の Jenkins または Gradle プラグイン) も使用できます。プラグインの詳細については、「[ツールとプラグイン](aws-device-farm-tools-plugins.md)」を参照してください。実行に関しては、「[実行](test-runs.md)」を参照してください。

**Topics**
+ [前提条件](#how-to-create-test-run-prerequisites)
+ [テスト実行を作成 (コンソール)](#how-to-create-test-run-console)
+ [テスト実行を作成 (AWS CLI)](#how-to-create-test-run-cli)
+ [テスト実行を作成 (API)](#how-to-create-test-run-api)
+ [次の手順](#how-to-create-test-run-console-next-steps)

## 前提条件
<a name="how-to-create-test-run-prerequisites"></a>

Device Farm にプロジェクトが作成されている必要があります。「[AWS Device Farm でのプロジェクトの作成](how-to-create-project.md)」の指示に従ってから、このページに戻ります。

## テスト実行を作成 (コンソール)
<a name="how-to-create-test-run-console"></a>

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

1. ナビゲーションペインで、 **[モバイルデバイスのテスト]** を選択し、そして次に、**[プロジェクト]** を選択します。

1. すでにプロジェクトがある場合は、テストをそのプロジェクトにアップロードできます。それ以外の場合は、**[新規プロジェクト]** を選択し、**[プロジェクト名]** を入力して、そして次に、**[作成]** を選択します。

1. プロジェクトを開き、**[実行を作成]** を選択します。

1. (オプション) **[実行設定]** の **[実行名]** セクションに、実行の名前を入力します。名前が指定されていない場合、Device Farm コンソールはデフォルトで実行に「My Device Farm run」という名前を付けます。

1. (オプション) **[実行設定]** の **[ジョブタイムアウト]** セクションで、テスト実行の実行タイムアウトを指定できます。無制限のテストスロットを使用している場合は、**[課金方法]** で **[計測対象外]** が選択されていることを確認します。

1. **[実行設定]** の **[実行タイプ]** セクションで、実行タイプを選択します。Android アプリをテストする準備が整っていない場合、または Android (.apk) アプリをテストする場合は、**[Android アプリ]** を選択します。iOS (.ipa) アプリをテストする場合は、**[iOS アプリ]** を選択します。ウェブアプリケーションをテストする場合は、**[ウェブアプリケーション]** を選択します。

1. **[アプリを選択]** の **[アプリの選択オプション]** セクションで、テストに使用できるアプリがない場合は、**[Device Farm が提供するサンプルアプリを選択]** を選択します。独自のアプリを持ち込む場合は、**[独自のアプリをアップロード]** を選択し、アプリケーションファイルを選択します。iOS アプリをアップロードする場合は、シミュレーターではなく、必ず **[iOS デバイス]** を選択してください。

1. **[テストを設定]** で、使用可能なテストフレームワークのいずれかを選択します。
**注記**  
利用可能なテストがない場合は、**[ビルトイン: ファズ]** を選択して、標準のビルトインテストスイートを実行します。**[ビルトイン: Fuzz]** を選択して、**[イベント数]**、**[イベント調整]**、および **[ランダマイザーシード]** ボックスが表示されたら、値を変更するか、そのままにしておくことができます。

   使用できるテストスイートの詳細については、「[AWS Device Farm のテストフレームワークと組み込みテスト](test-types.md)」を参照してください。

1. **[ビルトイン: Fuzz]** を選択しなかった場合は、**[テストパッケージを選択]** で **[ファイルを選択]** を選びます。テストが含まれているファイルを参照して選択します。

1. テスト環境では、**[標準環境でテストを実行]** または **[カスタム環境でテストを実行]** を選択します。詳細については、「[AWS Device Farm でのテスト環境](test-environments.md)」を参照してください。

1. カスタムテスト環境を使用している場合は、オプションで以下を実行できます。
   + カスタムのテスト環境でデフォルトのテスト仕様を編集する場合は、**[編集]** を選択して、デフォルトの YAML 仕様を更新します。
   + テスト仕様を変更した場合、**[新規として保存]** を選択し、それを更新します。
   + 環境変数を設定できます。ここで提供される変数は、親プロジェクトで設定できる変数よりも優先されます。

1. **[デバイスを選択]** で、次のいずれかを実行します。
   + ビルトインのデバイスプールを選択して **[デバイスプール]** に対してテストを実行するには、**[上位デバイス]** を選択します。
   + 独自のデバイスプールを作成してそのテストを実行するには、「[デバイスプールの作成](how-to-create-device-pool.md)」の手順に従って操作を行った後、このページに戻ります。
   + **[デバイスプール]** ですでに独自のデバイスプールを作成した場合は、自分のデバイスプールを選択します。
   + **[デバイスを手動で選択]** を選択し、実行したいデバイスを選択します。この設定は保存されません。

   詳細については、「[AWS Device Farm でのデバイスサポートデバイス](devices.md)」を参照してください。

1. (オプション) 設定を追加するには、**[追加設定]** ドロップダウンを開きます。このセクションで、次のいずれかの方法を実行できます。
   + 実行ロール ARN を指定するか、親プロジェクトで設定された実行ロール ARN を上書きするには、実行ロール ARN フィールドを使用します。
   + 実行中に Device Farm が使用する他のデータを提供するには、**[別途データを追加]** の横の **[ファイルを選択** を選択後、データが含まれる .zip ファイルを参照して選択します。
   + 実行中に Device Farm が使用する追加のアプリケーションをインストールするには、**[他のアプリをインストール]** の横の **[ファイルを選択]** を選択し、アプリを含む .apk または .ipa ファイルを参照して選択します。インストールする他のアプリケーションにもこの手順を繰り返します。インストール順序を変更するには、アップロードした後にアプリケーションをドラッグアンドドロップします。
   + 実行中に Wi-Fi、Bluetooth、GPS、または NFC を有効にするかどうか指定するには、**[無線状態を設定]** の横にある適切なボックスを選択します。
   + 実行用のデバイスの緯度と経度をプリセットするには、**[デバイスの場所]** の横に座標を入力します。
   + 実行用のデバイスロケールをプリセットするには、**[デバイスロケール]** でロケールを選択します。
   + テスト中に動画を記録にするには、**[録画を有効化]** を選択します。
   + デバイスのパフォーマンスデータをキャプチャするには、**[アプリケーションのパフォーマンスデータキャプチャを有効化]** を選びます。
**注記**  
デバイスの無線状態とロケールの設定は、現時点では Android ネイティブテストでのみ使用できます。
**注記**  
プライベートデバイスがある場合は、[プライベートデバイス専用の構成] も表示されます。

1. ページの下部で、**[実行を作成]** を選択して実行をスケジュールします。

Device Farm は、デバイスが利用可能になると、通常数分以内に実行を開始します。テスト実行中、Device Farm コンソールが実行テーブルに保留中アイコン ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-calendar.png) を表示します。実行中の各デバイスも保留中アイコンで起動し、テストが開始されると実行中アイコン ![\[Device Farm progress indicator.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-progress.png) に切り替わります。各テストが終了すると、テスト結果アイコンがデバイス名の横に表示されます。すべてのテストが完了すると、実行の横にある保留中アイコンがテスト結果アイコンに変わります。

テスト実行を停止したい場合は、「[AWS Device Farm での実行の停止](how-to-stop-test-runs.md)」を参照してください。

## テスト実行を作成 (AWS CLI)
<a name="how-to-create-test-run-cli"></a>

を使用してテストラン AWS CLI を作成できます。

**Topics**
+ [ステップ 1: プロジェクトを選択する](#how-to-create-test-run-cli-step1)
+ [ステップ 2: デバイスプールを選択する](#how-to-create-test-run-cli-step2)
+ [ステップ 3: アプリケーションファイルをアップロードする](#how-to-create-test-run-cli-step3)
+ [ステップ 4: テストスクリプトパッケージをアップロードする](#how-to-create-test-run-cli-step4)
+ [ステップ 5: (オプション) カスタムテスト仕様をアップロードする](#how-to-create-test-run-cli-step5)
+ [ステップ 6: テスト実行をスケジュール設定する](#how-to-create-test-run-cli-step6)

### ステップ 1: プロジェクトを選択する
<a name="how-to-create-test-run-cli-step1"></a>

テスト実行は Device Farm プロジェクトに関連付ける必要があります。

1. Device Farm プロジェクトを一覧表示するには、**list-projects** を実行します。プロジェクトがない場合は、「[AWS Device Farm でのプロジェクトの作成](how-to-create-project.md)」を参照してください。

   例:

   ```
   aws devicefarm list-projects
   ```

   このレスポンスには、Device Farm プロジェクトのリストが含まれています。

   ```
   {
       "projects": [
           {
               "name": "MyProject",
               "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
               "created": 1503612890.057
           }
       ]
   }
   ```

1. プロジェクトを選択してテスト実行を関連付け、その Amazon Reソース Name (ARN) を書き留めます。

### ステップ 2: デバイスプールを選択する
<a name="how-to-create-test-run-cli-step2"></a>

デバイスプールを選択して、テスト実行を関連付ける必要があります。

1. デバイスプールを表示するには、プロジェクト ARN を指定して **list-device-pools** を実行します。

   例:

   ```
   aws devicefarm list-device-pools --arn arn:MyProjectARN
   ```

   このレスポンスには、ビルトイン Device Farm デバイスプール (例: **Top Devices** や、このプロジェクト用に以前作成したデバイスプール) が含まれます。

   ```
   {
       "devicePools": [
           {
               "rules": [
                   {
                       "attribute": "ARN",
                       "operator": "IN",
                       "value": "[\"arn:aws:devicefarm:us-west-2::device:example1\",\"arn:aws:devicefarm:us-west-2::device:example2\",\"arn:aws:devicefarm:us-west-2::device:example3\"]"
                   }
               ],
               "type": "CURATED",
               "name": "Top Devices",
               "arn": "arn:aws:devicefarm:us-west-2::devicepool:example",
               "description": "Top devices"
           },
           {
               "rules": [
                   {
                       "attribute": "PLATFORM",
                       "operator": "EQUALS",
                       "value": "\"ANDROID\""
                   }
               ],
               "type": "PRIVATE",
               "name": "MyAndroidDevices",
               "arn": "arn:aws:devicefarm:us-west-2:605403973111:devicepool:example2"
           }
       ]
   }
   ```

1. デバイスプールを選択し、その ARN を書き留めておきます。

   また、デバイスプールを作成し、その後、このステップに戻ることもできます。詳細については、「[デバイスプールを作成する (AWS CLI)](how-to-create-device-pool.md#how-to-create-device-pool-cli)」を参照してください。

### ステップ 3: アプリケーションファイルをアップロードする
<a name="how-to-create-test-run-cli-step3"></a>

アップロードリクエストを作成し、Amazon Simple Storage Service (Amazon S3) の署名付きアップロード URL を取得するには、以下が必要です:
+ プロジェクト ARN。
+ アプリケーションファイルの名前。
+ アップロードのタイプ。

詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-upload.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-upload.html)」を参照してください。

1. ファイルをアップロードするには、`–-project-arn`、`--name`、および `--type` パラメータにより、**create-upload** を実行します。

   この例では、Android アプリケーション用のアップロードを作成します:

   ```
   aws devicefarm create-upload -–project-arn arn:MyProjectArn -–name MyAndroid.apk -–type ANDROID_APP
   ```

   このレスポンスには、アプリケーションアップロード ARN と署名付き URL が含まれます。

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "name": "MyAndroid.apk",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
           "type": "ANDROID_APP",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }
   }
   ```

1. アプリケーションアップロード ARN と署名付き URL を書き留めます。

1. Amazon S3 の署名付き URL を使用してアプリケーションファイルをアップロードします。この例では、**curl** を使用して、Android .apk ファイルをアップロードします:

   ```
   curl -T MyAndroid.apk "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

   詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[署名付き URL を使用したオブジェクトのアップロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html)」を参照してください。

1. アプリケーションアップロードのステータスを確認するには、**get-upload** を実行し、アプリアップロードの ARN を指定します。

   ```
   aws devicefarm get-upload –-arn arn:MyAppUploadARN
   ```

   レスポンスのステータスが **SUCCEEDED** になるまで待ってから、テストスクリプトパッケージをアップロードします。

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyAndroid.apk",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "ANDROID_APP",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

### ステップ 4: テストスクリプトパッケージをアップロードする
<a name="how-to-create-test-run-cli-step4"></a>

次に、テストスクリプトパッケージをアップロードします。

1. アップロードリクエストを作成し、Amazon S3 の署名付きアップロード URL を取得するには、`–-project-arn`、`--name`、および `--type` パラメータを使用して **create-upload** を実行します。

   この例では、Appium Java TestNG テストパッケージアップロードを作成します:

   ```
   aws devicefarm create-upload –-project-arn arn:MyProjectARN -–name MyTests.zip –-type APPIUM_JAVA_TESTNG_TEST_PACKAGE
   ```

   このレスポンスには、テストパッケージのアップロード ARN および署名付き URL が含まれます。

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "name": "MyTests.zip",
           "created": 1535738627.195,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
           "type": "APPIUM_JAVA_TESTNG_TEST_PACKAGE",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }    
   }
   ```

1. テストパッケージアップロード ARN と署名付き URL を書き留めます。

1. Amazon S3 の署名付き URL を使用して、テストスクリプトパッケージファイルをアップロードします。この例では、**curl** を使用して、圧縮された TestNG スクリプトファイルをアップロードします:

   ```
   curl -T MyTests.zip "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

1. テストスクリプトパッケージアップロードのステータスを確認するには、**get-upload** を実行し、ステップ 1 からテストパッケージアップロード ARN を指定します。

   ```
   aws devicefarm get-upload –-arn arn:MyTestsUploadARN
   ```

   レスポンスのステータスが **SUCCEEDED** となるまで待ってから、次のオプションのステップに進みます。

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyTests.zip",
           "created": 1535738627.195,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_PACKAGE",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

### ステップ 5: (オプション) カスタムテスト仕様をアップロードする
<a name="how-to-create-test-run-cli-step5"></a>

標準のテスト環境でテストを実行している場合、このステップはスキップします。

Device Farm では、サポートされているテストタイプごとに、デフォルトのテスト仕様ファイルを保持しています。次に、デフォルトのテスト仕様をダウンロードし、カスタムのテスト環境でテストを実行するために必要なカスタムテスト仕様アップロードを作成します。詳細については、「[AWS Device Farm でのテスト環境](test-environments.md)」を参照してください。

1. デフォルトのテスト仕様のアップロード ARN を検索するには、**list-uploads** を実行してプロジェクト ARN を指定します。

   ```
   aws devicefarm list-uploads --arn arn:MyProjectARN
   ```

   このレスポンスには、デフォルトのテスト仕様ごとのエントリが含まれます:

   ```
   {
       "uploads": [
           {
   
               {
                   "status": "SUCCEEDED",
                   "name": "Default TestSpec for Android Appium Java TestNG",
                   "created": 1529498177.474,
                   "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
                   "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
                   "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
               }
           }
       ]
   }
   ```

1. リストからデフォルトのテスト仕様を選択します。アップロード ARN を書き留めます。

1. デフォルトのテスト仕様をダウンロードするには、アップロード ARN を指定して **get-upload** を実行します。

   例:

   ```
   aws devicefarm get-upload –-arn arn:MyDefaultTestSpecARN
   ```

   このレスポンスには、デフォルトのテスト仕様をダウンロードできる署名付き URL が含まれます。

1. この例では、**curl** を使用してデフォルトのテスト仕様をダウンロードし、`MyTestSpec.yml` という名前で保存します:

   ```
   curl "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL" > MyTestSpec.yml
   ```

1. デフォルトのテスト仕様を編集して、テスト要件を満たします。以降のテスト実行では変更後のテスト仕様を使用します。このステップをスキップして、デフォルトのテスト仕様をカスタムのテスト環境でそのまま使用します。

1. カスタムのテスト仕様のアップロードを作成するには、テスト仕様名、テスト仕様タイプ、およびプロジェクト ARN を指定して、**create-upload** を実行します。

   この例では、Appium Java TestNG のカスタムテスト仕様のアップロードを作成します:

   ```
   aws devicefarm create-upload --name MyTestSpec.yml --type APPIUM_JAVA_TESTNG_TEST_SPEC --project-arn arn:MyProjectARN
   ```

   このレスポンスには、テスト仕様のアップロード ARN および署名付き URL が含まれます:

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "category": "PRIVATE",
           "name": "MyTestSpec.yml",
           "created": 1535751101.221,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }
   }
   ```

1. テスト仕様のアップロード ARN と署名付き URL を書き留めます。

1. Amazon S3 の署名付き URL を使用してテスト仕様ファイルをアップロードします。この例では、**curl** を使用して、Appium JavaTestNG テスト仕様をアップロードします:

   ```
   curl -T MyTestSpec.yml "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

1. テスト仕様アップロードのステータスを確認するには、**get-upload** を実行し、アップロードの ARN を指定します。

   ```
   aws devicefarm get-upload –-arn arn:MyTestSpecUploadARN
   ```

   レスポンスのステータスが **SUCCEEDED** になるまで待ってから、テスト実行のスケジュール設定を行います。

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyTestSpec.yml",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

   カスタムのテスト仕様をアップデートするには、このテスト仕様のアップロード ARN を指定して、**update-upload** を実行します。詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/devicefarm/update-upload.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/update-upload.html)」を参照してください。

### ステップ 6: テスト実行をスケジュール設定する
<a name="how-to-create-test-run-cli-step6"></a>

を使用してテスト実行をスケジュールするには AWS CLI、以下を指定して **schedule-run**を実行します。
+ [ステップ 1](#how-to-create-test-run-cli-step1) からのプロジェクト ARN。
+ [ステップ 2](#how-to-create-test-run-cli-step2) からのデバイスプール ARN。
+ [ステップ 3](#how-to-create-test-run-cli-step3) からのアプリケーションアップロード ARN。
+ [ステップ 4](#how-to-create-test-run-cli-step4) からのテストパッケージアップロード ARN。

 カスタムテスト環境でテストを実行している場合は、[ステップ 5](#how-to-create-test-run-cli-step5) からのテスト仕様 ARN も必要です。

**標準のテスト環境での実行をスケジュール設定するには**
+ プロジェクト ARN、デバイスプール ARN、アプリケーションアップロード ARN、テストパッケージ情報を指定して、**schedule-run** を実行します。

  例:

  ```
  aws devicefarm schedule-run --project-arn arn:MyProjectARN --app-arn arn:MyAppUploadARN --device-pool-arn arn:MyDevicePoolARN --name MyTestRun --test type=APPIUM_JAVA_TESTNG,testPackageArn=arn:MyTestPackageARN
  ```

  このレスポンスには、テスト実行のステータスの確認に使用する実行 ARN が含まれます。

  ```
  {
      "run": {
          "status": "SCHEDULING",
          "appUpload": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345appEXAMPLE",
          "name": "MyTestRun",
          "radios": {
              "gps": true,
              "wifi": true,
              "nfc": true,
              "bluetooth": true
          },
          "created": 1535756712.946,
          "totalJobs": 179,
          "completedJobs": 0,
          "platform": "ANDROID_APP",
          "result": "PENDING",
          "devicePoolArn": "arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-12345devicepoolEXAMPLE",
          "jobTimeoutMinutes": 150,
          "billingMethod": "METERED",
          "type": "APPIUM_JAVA_TESTNG",
          "testSpecArn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345specEXAMPLE",
          "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-12345runEXAMPLE",
          "counters": {
              "skipped": 0,
              "warned": 0,
              "failed": 0,
              "stopped": 0,
              "passed": 0,
              "errored": 0,
              "total": 0
          }
      }
  }
  ```

  詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/devicefarm/schedule-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/schedule-run.html)」を参照してください。

**カスタムテスト環境での実行をスケジュール設定するには**
+ ステップは、`--test` パラメータの追加 `testSpecArn` 属性を伴い、標準テスト環境用のステップとほとんど同じです。

  例:

  ```
  aws devicefarm schedule-run --project-arn arn:MyProjectARN --app-arn arn:MyAppUploadARN --device-pool-arn arn:MyDevicePoolARN --name MyTestRun --test testSpecArn=arn:MyTestSpecUploadARN,type=APPIUM_JAVA_TESTNG,testPackageArn=arn:MyTestPackageARN
  ```

**テスト実行のステータスを確認するには**
+ **get-run** コマンドを使い、以下の実行 ARN を指定します:

  ```
  aws devicefarm get-run --arn arn:aws:devicefarm:us-west-2:111122223333:run:5e01a8c7-c861-4c0a-b1d5-12345runEXAMPLE
  ```

詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html)」を参照してください。で Device Farm を使用する方法については AWS CLI、「」を参照してください[AWS CLI リファレンス](cli-ref.md)。

## テスト実行を作成 (API)
<a name="how-to-create-test-run-api"></a>

手順は、 AWS CLI 「」セクションで説明されている手順と同じです。「[テスト実行を作成 (AWS CLI)](#how-to-create-test-run-cli)」を参照してください。

以下の情報は、[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html) API を呼び出すために必要です:
+ プロジェクト ARN。「[プロジェクトを作成する (API)](how-to-create-project.md#how-to-create-project-api)」および「[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html)」を参照してください。
+ アプリケーションアップロード ARN。「[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html)」を参照してください。
+ テストパッケージアップロード ARN。[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html) を参照してください。
+ デバイスプール ARN。「[デバイスプールの作成](how-to-create-device-pool.md)」および「[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html)」を参照してください。

**注記**  
カスタムのテスト環境でテストを実行している場合は、テスト仕様アップロード ARN も必要です。詳細については、「[ステップ 5: (オプション) カスタムテスト仕様をアップロードする](#how-to-create-test-run-cli-step5)」および「[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html)」を参照してください。

Device Farm APIの使用についての詳細は、「[Device Farm の自動化](api-ref.md)」を参照してください。

## 次の手順
<a name="how-to-create-test-run-console-next-steps"></a>

Device Farm コンソールでテスト実行が完了すると、クロックアイコン ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-calendar.png) が成功などの結果アイコン ![\[The test succeeded.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-success.png) に変わります。テストが完了した時点で実行のレポートが表示されます。詳細については、「[AWS Device Farm でのレポートレポート](reports.md)」を参照してください。

レポートを使用するには、「[Device Farm でのテストレポートの表示](how-to-use-reports.md)」の手順に従います。

# AWS Device Farm におけるテスト実行の実行タイムアウトの設定
<a name="how-to-set-default-timeout-for-test-runs"></a>

各デバイスのテストの実行を停止するまでのテスト実行の実行時間の値を設定することができます。デフォルトの実行タイムアウトはデバイスあたり 150 分ですが、5 分などの低い値にも設定できます。AWS Device Farm コンソール AWS CLI、または AWS Device Farm API を使用して、実行タイムアウトを設定できます。

**重要**  
実行タイムアウトオプションは、一部のバッファと共に、テスト実行の*最大所要時間*に設定する必要があります。例えば、テストにデバイスあたり 20 分かかる場合、デバイスあたり 30 分のタイムアウトを選択する必要があります。

実行がタイムアウトを超えた場合、そのデバイスでの実行は強制的に停止されます。可能であれば、部分的な結果を使用することができます。従量制課金オプションを使用している場合は、その時点までの実行に対して請求されます。料金の詳細については、「[Device Farm 料金表](https://aws.amazon.com/device-farm/pricing/)」を参照してください。

各デバイスでテスト実行にかかる時間を知っている場合は、この機能を使用できます。テスト実行の実行タイムアウトを指定すると、何らかの理由でテスト実行が滞り、実行されているテストがないデバイス分に対して課金されるという状況を回避できます。つまり、実行タイムアウト機能を使用すると、テスト実行に予想以上の時間がかかっている場合にその実行を停止できます。

実行タイムアウトは、プロジェクトレベルおよびテスト実行レベルの 2 つの場所で設定できます。

## 前提条件
<a name="how-to-set-default-timeout-prerequisites"></a>

1. 「[設定](setting-up.md)」のステップを完了します。

1. Device Farm でプロジェクトを作成します。「[AWS Device Farm でのプロジェクトの作成](how-to-create-project.md)」の指示に従ってから、このページに戻ります。

## プロジェクトの実行タイムアウトを設定する
<a name="how-to-set-execution-timeout-project-console"></a>

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

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

1. 既にプロジェクトがある場合は、リストからそのプロジェクトを選択します。それ以外の場合は、**[新規プロジェクト]** を選択し、プロジェクト名を入力して、**[送信]** を選択します。

1. **[プロジェクト設定]** を選択します。

1. **[全般]** タブの **[実行タイムアウト]** に値を入力するか、スライダーバーを使用します。

1. **[保存]** を選択します。

   プロジェクト内のテスト実行で、先ほど指定した実行タイムアウト値が使用されるようになりました。ただし、実行をスケジュール設定する際にタイムアウト値を上書きする場合は除きます。

## テスト実行の実行タイムアウトを設定する
<a name="how-to-set-execution-timeout-test-run-console"></a>

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

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

1. 既にプロジェクトがある場合は、リストからそのプロジェクトを選択します。それ以外の場合は、**[新規プロジェクト]** を選択し、プロジェクト名を入力して、**[送信]** を選択します。

1. **[新規実行を作成]** を選択します。

1. ステップに従って、アプリケーションを選択し、テストを構成し、デバイスを選択し、デバイス状態を指定します。

1. **[実行を確認して開始]** の **[実行タイムアウトを設定]** では、値を入力するか、スライダーバーを使用します。

1. **[実行を確認して開始]** を選択します。

# AWS Device Farm 実行用のネットワークの接続と条件のシミュレーション
<a name="how-to-simulate-network-connections-and-conditions"></a>

ネットワークシェーピングを使用して、Device Farm で Android、iOS、およびウェブアプリケーションをテストしながら、ネットワーク接続と条件をシミュレートできます。たとえば、損失または断続的なインターネット接続をシミュレートできます。

デフォルトのネットワーク設定を使用して実行を作成した場合は、各デバイスは、完全で制限のない WiFi 接続でインターネット接続できます。ネットワークシェーピングを使用すると、Wi-Fi 接続を変更して、インバウンドトラフィックとアウトバウンドトラフィックの両方のスループット、遅延、ジッター、損失を制御する **3G** または **Lossy WiFi** などのネットワークプロファイルを指定できます。

**Topics**
+ [テスト実行をスケジュールする場合のネットワークシェーピングを設定する](#network-shaping-how-to-choose-a-curated-profile-when-scheduling-a-test-run)
+ [ネットワークプロファイルを作成する](#network-shaping-how-to-create-a-network-profile)
+ [テスト中にネットワーク条件を変更する](#change-network-conditions-during-test)

## テスト実行をスケジュールする場合のネットワークシェーピングを設定する
<a name="network-shaping-how-to-choose-a-curated-profile-when-scheduling-a-test-run"></a>

実行をスケジュールする場合、Device Farm でキュレートされたプロファイルから選択するか、独自のプロファイルを作成および管理できます。

1. 任意の Device Farm プロジェクトから、**[新規実行を作成]** を選択します。

   まだプロジェクトがない場合は、「[AWS Device Farm でのプロジェクトの作成](how-to-create-project.md)」を参照してください。

1. アプリケーションを選択後、**[次へ]** を選択します。

1. テストを構成し、**[次へ]** を選択します。

1. デバイスを選択し、**[次へ]** を選択します。

1. **[ロケーションとネットワークを設定]** セクションで、ネットワークプロファイルを選択するか、**[ネットワークプロファイルを作成]** を選択して、独自のものを作成します。  
![\[テスト実行用のネットワークプロファイル\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-set-up-network-profile.png)

1. **[次へ]** を選択します。

1. テスト実行を確認して開始します。

## ネットワークプロファイルを作成する
<a name="network-shaping-how-to-create-a-network-profile"></a>

テスト実行の作成時に、ネットワークプロファイルを作成できます。

1. **[ネットワークプロファイルを作成]** を選択します。  
![\[新規ネットワークプロファイルを作成する\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-create-a-new-network-profile.png)

1. ネットワークプロファイルの名前と設定を入力します。

1. **[作成]** を選択します。

1. テスト実行の作成を完了し、実行を開始します。

ネットワークプロファイルを作成したら、「**プロジェクト設定**」ページで表示および管理できるようになります。

![\[プロジェクト設定のネットワークプロファイル\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-network-profiles-in-project-settings.png)


## テスト中にネットワーク条件を変更する
<a name="change-network-conditions-during-test"></a>

テスト実行中の帯域幅の減少といった動的ネットワーク条件をシミュレートするには、Appium などのフレームワークを使用してデバイスホストから API を呼び出します。詳細については、「[CreateNetworkProfile](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateNetworkProfile.html)」を参照してください。

# AWS Device Farm での実行の停止
<a name="how-to-stop-test-runs"></a>

実行の開始後に停止が必要となることがあります。例えば、テストの実行中に問題が発生し、更新されたテストスクリプトにより実行を再開する場合です。

Device Farm コンソール AWS CLI、または API を使用して実行を停止できます。

**Topics**
+ [実行を停止する (コンソール)](#how-to-stop-run-console)
+ [実行を停止 (AWS CLI)](#how-to-stop-test-run-cli)
+ [実行を停止 (API)](#how-to-stop-test-run-api)

## 実行を停止する (コンソール)
<a name="how-to-stop-run-console"></a>

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

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

1. アクティブなテスト実行を持つプロジェクトを選択します。

1. 「**自動テスト**」ページで、テスト実行を選択します。

   デバイス名の左に、保留中または実行中の アイコンが表示されます。  
![\[Device Farm - テスト実行を停止する\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-stop-run.png)

1. **[実行を停止]** を選択します。

   しばらくすると、マイナスのマークを赤色の円で囲んだアイコンがデバイス名の横に表示されます。実行が停止すると、アイコンの色が赤から黒に変わります。
**重要**  
テストは一旦実行されると、Device Farm により停止できません。進行中の場合、Device Farm はテストを停止します。請求対象の合計時間が **[デバイス]** セクションに表示されます。さらに請求は、Device Farm がセットアップスイートとティアダウンスイートの実行に費やす合計時間に対しても行われます。詳細については、「[Device Farm 料金表](https://aws.amazon.com/device-farm/faq/#pricing)」を参照してください。

   次の図は、テストが正常に停止した後に表示される **[デバイス]** セクションの例です。  
![\[Device Farm - 停止された実行の詳細ページ\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-stop-run-view-details.png)

## 実行を停止 (AWS CLI)
<a name="how-to-stop-test-run-cli"></a>

 次のコマンドを実行して、指定されたテスト実行を停止することもできます。*myARN* はテスト実行の Amazon リソースネーム (ARN) です。

```
$ aws devicefarm stop-run --arn myARN
```

次のような出力が表示されます:

```
{
    "run": {
        "status": "STOPPING",
        "name": "Name of your run",
        "created": 1458329687.951,
        "totalJobs": 7,
        "completedJobs": 5,
        "deviceMinutes": {
            "unmetered": 0.0,
            "total": 0.0,
            "metered": 0.0
        },
        "platform": "ANDROID_APP",
        "result": "PENDING",
        "billingMethod": "METERED",
        "type": "BUILTIN_EXPLORER",
        "arn": "myARN",
        "counters": {
            "skipped": 0,
            "warned": 0,
            "failed": 0,
            "stopped": 0,
            "passed": 0,
            "errored": 0,
            "total": 0
        }
    }
}
```

実行の ARN を取得するには、`list-runs` コマンドを使用します。出力は次の例のようになります:

```
{
    "runs": [
        {
            "status": "RUNNING",
            "name": "Name of your run",
            "created": 1458329687.951,
            "totalJobs": 7,
            "completedJobs": 5,
            "deviceMinutes": {
                "unmetered": 0.0,
                "total": 0.0,
                "metered": 0.0
            },
            "platform": "ANDROID_APP",
            "result": "PENDING",
            "billingMethod": "METERED",
            "type": "BUILTIN_EXPLORER",
            "arn": "Your ARN will be here",
            "counters": {
                "skipped": 0,
                "warned": 0,
                "failed": 0,
                "stopped": 0,
                "passed": 0,
                "errored": 0,
                "total": 0
            }
        }
    ]
}
```

で Device Farm を使用する方法については AWS CLI、「」を参照してください[AWS CLI リファレンス](cli-ref.md)。

## 実行を停止 (API)
<a name="how-to-stop-test-run-api"></a>
+ テスト実行に対して、[StopRun](../../latest/APIReference/API_StopRun.html) オペレーションを呼び出します。

Device Farm API の使用についての詳細は、「[Device Farm の自動化](api-ref.md)」を参照してください。

# AWS Device Farm での実行リストの表示
<a name="how-to-view-runs-list"></a>

Device Farm コンソール AWS CLI、または API を使用して、プロジェクトの実行のリストを表示できます。

**Topics**
+ [実行のリストを表示する (コンソール)](#how-to-view-runs-list-console)
+ [実行のリストを表示する (AWS CLI)](#how-to-view-runs-list-cli)
+ [実行のリストを表示する (API)](#how-to-view-runs-list-api)

## 実行のリストを表示する (コンソール)
<a name="how-to-view-runs-list-console"></a>

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

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

1. プロジェクトのリストで、表示するリストに対応するプロジェクトを選択します。
**ヒント**  
検索バーを使って、名前によりプロジェクトリストを絞り込めます。

## 実行のリストを表示する (AWS CLI)
<a name="how-to-view-runs-list-cli"></a>
+ [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-runs.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-runs.html) コマンドを実行します。

  単一の実行についての情報を表示するには、[https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html) コマンドを実行します。

で Device Farm を使用する方法については AWS CLI、「」を参照してください[AWS CLI リファレンス](cli-ref.md)。

## 実行のリストを表示する (API)
<a name="how-to-view-runs-list-api"></a>
+ [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html) API を呼び出します。

  単一の実行についての情報を表示するには、[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html) API を呼び出します。

Device Farm API についての詳細は、「[Device Farm の自動化](api-ref.md)」を参照してください。

# AWS Device Farm でのデバイスプールの作成
<a name="how-to-create-device-pool"></a>

Device Farm コンソール AWS CLI、または API を使用して、デバイスプールを作成できます。

**Topics**
+ [前提条件](#how-to-create-device-pool-prerequisites)
+ [デバイスプールを作成 (コンソール)](#how-to-create-device-pool-console)
+ [デバイスプールを作成する (AWS CLI)](#how-to-create-device-pool-cli)
+ [デバイスプールを作成する (API)](#how-to-create-device-pool-api)

## 前提条件
<a name="how-to-create-device-pool-prerequisites"></a>
+ Device Farm コンソールで実行を作成します。「[Device Farm でのテスト実行の作成](how-to-create-test-run.md)」の手順に従います。「**デバイスを選択する**」ページが表示されたら、このセクションの手順に進みます。

## デバイスプールを作成 (コンソール)
<a name="how-to-create-device-pool-console"></a>

1. **[すべてのプロジェクト]** ページで、プロジェクトを選択します。**[プロジェクトの詳細]** ページで、**[プロジェクト設定]** を選択します。**[デバイスプール]** タブで、**[デバイスプールを作成]** を選択します。

1. **[名前]** に、このデバイスプールの分かりやすい名前を入力します。

1. **[説明]** に、このデバイスプールの分かりやすい説明を入力します。

1. このデバイスプール内のデバイスに対して 1 つ以上の選択条件を使用する場合は、次の手順を行います:

   1. **[動的デバイスプールの作成]** を選択します。

   1. **[ルールを追加]** を選択します。

   1. **[フィールド]** (最初のドロップダウンリスト) で、 次のいずれかを選択します:
      + デバイスをメーカー名ごとに含めるには、**[デバイスメーカー]** を選択します。
      + フォームファクタ別 (タブレットまたは電話) にデバイスを含めるには、**[フォームファクタ]** を選択します。
      + 負荷に基づいて可用性ステータスでデバイスを含めるには、**[可用性]** を選択します。
      + パブリックデバイスまたはプライベートデバイスのみを含めるには、**[フリートタイプ]** を選択します。
      + オペレーティングシステム別にデバイスを含めるには、**[プラットフォーム]** を選択します。
      + 一部のデバイスには、デバイスに関する追加のラベルタグまたは説明が付いています。**[インスタンスラベル]** を選択すると、ラベルの内容に基づいてデバイスを見つけることができます。
      + オペレーティングシステムのバージョン別にデバイスを含めるには、**[OS バージョン]** を選択します。
      + モデル別にデバイスを含めるには、**[モデル]** を選択します。

   1. **[演算子]** (2 番目のドロップダウンリスト) では、クエリに基づいてデバイスを含める論理演算 (EQUALS、CONTAINS など) を選択します。例えば、*可用性 EQUALS AVAILABLE* を選択して、現在のステータスが `Available` であるデバイスを含めることができます。

   1. **[値]** (3 番目のドロップダウンリスト) では、**[フィールド]** 値と **[演算子]** 値に指定する値を入力または選択します。値は、**[フィールド]** の選択に基づいて制限されます。例えば、**[フィールド]** で **[プラットフォーム]** を選ぶ場合、指定できるのは **[ANDROID]** と **[IOS]** のみです。同様に、**[フィールド]** で **[フォームファクター]** を選ぶ場合、指定できるセクションは **[電話]** と **[タブレット]** のみです。

   1. 別のルールを追加するには、**[ルールを追加]** を選択します。

      最初のルールを作成すると、デバイスのリストで、ルールに一致する各デバイスの横にあるボックスが選択されます。ルールを作成または変更すると、デバイスのリストで、それらの結合されたルールに一致する各デバイスの横にあるボックスが選択されます。ボックスが選択されているデバイスはデバイスプールに含まれます。ボックスが選択解除されたデバイスは除外されます。

   1. **[最大デバイス数]** に、デバイスプールで使用するデバイスの数を入力します。デバイスの最大数を入力しない場合、Device Farm は作成したルールに一致するフリート内のすべてのデバイスを選択します。追加料金が発生しないように、この数値を実際の並列実行とデバイスの種類の要件に一致する量に設定します。

   1. ルールを削除するには、**[ルールを削除]** を選択します。

1. 個々のデバイスを手動で含めたり除外したりする場合は、以下を実行します:

   1. **[静的デバイスプールを作成]** を選択します。

   1. 各デバイスの横にあるボックスの選択または選択解除をします。ルールを指定していない場合にのみ、ボックスの選択または選択解除をできます。

1. 表示されているすべてのデバイスを含めたり除外したりする場合は、リストの列ヘッダー行のボックスの選択または選択解除をします。プライベートデバイスインスタンスのみを表示する場合は、**[プライベートデバイスインスタンスのみを参照]** を選択します。
**重要**  
列ヘッダー行のボックスを使用して表示されたデバイスのリストを変更することはできますが、残りの表示されたデバイスのみが含まれたり除外されたりするわけではありません。含まれる、または除外されるデバイスを確認するには、列ヘッダー行のすべてのボックスのコンテンツを選択解除してから、ボックスを参照します。

1. **[作成]** を選択します。

## デバイスプールを作成する (AWS CLI)
<a name="how-to-create-device-pool-cli"></a>

**ヒント**  
デバイスの最大数を入力しない場合、Device Farm は作成したルールに一致するフリート内のすべてのデバイスを選択します。追加料金が発生しないように、この数値を実際の並列実行とデバイスの種類の要件に一致する量に設定します。
+ [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-device-pool.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-device-pool.html) コマンドを実行します。

で Device Farm を使用する方法については AWS CLI、「」を参照してください[AWS CLI リファレンス](cli-ref.md)。

## デバイスプールを作成する (API)
<a name="how-to-create-device-pool-api"></a>

**ヒント**  
デバイスの最大数を入力しない場合、Device Farm は作成したルールに一致するフリート内のすべてのデバイスを選択します。追加料金が発生しないように、この数値を実際の並列実行とデバイスの種類の要件に一致する量に設定します。
+ [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html) API を呼び出します。

Device Farm API の使用についての情報は、「[Device Farm の自動化](api-ref.md)」を参照してください。

# AWS Device Farm でのテスト結果の分析
<a name="analyzing-results"></a>

標準テスト環境では、Device Farm コンソールを使用して、テスト実行の各テストのレポートを表示することができます。レポートを表示すると、合格または不合格のテストを把握し、さまざまなデバイス設定におけるアプリケーションのパフォーマンスと動作の詳細を確認できます。

また、Device Farm は、テスト実行完了時にダウンロードできるファイル、ログ、画像といった他のアーティファクトも収集します。この情報は、実際のデバイスでのアプリの動作の分析、問題やバグの特定、問題の診断に役立ちます。

**Topics**
+ [Device Farm でのテストレポートの表示](how-to-use-reports.md)
+ [Device Farm でのアーティファクトのダウンロード](artifacts.md)

# Device Farm でのテストレポートの表示
<a name="how-to-use-reports"></a>

テストレポートを表示するには、Device Farm コンソールを使用します。詳細については、「[AWS Device Farm でのレポートレポート](reports.md)」を参照してください。

**Topics**
+ [前提条件](#how-to-use-reports-prerequisites)
+ [レポートの表示](#how-to-use-reports-viewing-reports)
+ [Device Farm テスト結果のステータス](how-to-use-reports-displaying-results.md)

## 前提条件
<a name="how-to-use-reports-prerequisites"></a>

テスト実行を設定し、完了したことを確認します。

1.  実行を作成するには「[Device Farm でのテスト実行の作成](how-to-create-test-run.md)」を参照し、その後、このページに戻ります。

1. 実行が完了したことを確認します。テスト実行中、Device Farm コンソールでは進行中のものに保留中アイコン ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-calendar.png) が表示されます。実行中の各デバイスも保留中のアイコンで起動し、テストが開始されると実行中の ![\[Device Farm progress indicator.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-progress.png) アイコンに切り替わります。各テストが終了すると、テスト結果アイコンがデバイス名の横に表示されます。すべてのテストが完了すると、実行の横にある保留中アイコンがテスト結果アイコンに変わります。詳細については、「[Device Farm テスト結果のステータス](how-to-use-reports-displaying-results.md)」を参照してください。

## レポートの表示
<a name="how-to-use-reports-viewing-reports"></a>

テストの結果は、Device Farm コンソールで表示できます。

**Topics**
+ [テスト実行の概要ページの表示](#how-to-use-reports-console-summary)
+ [一意の問題のレポートを表示する](#how-to-use-reports-console-unique-problems)
+ [デバイスのレポートを表示する](#how-to-use-reports-console-by-device)
+ [テストスイートレポートを表示する](#how-to-use-reports-console-by-suite)
+ [テストレポートを表示する](#how-to-use-reports-console-by-test)
+ [レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する](#how-to-use-reports-console-log)

### テスト実行の概要ページの表示
<a name="how-to-use-reports-console-summary"></a>

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

1. ナビゲーションペインで、 **[モバイルデバイスのテスト]** を選択し、次に、**[プロジェクト]** を選択します。

1. プロジェクトのリストで、実行のプロジェクトを選択します。
**ヒント**  
名前によりプロジェクトリストを絞り込むには、検索バーを使用します。

1. 概要レポートページを表示するには、完了した実行を選択します。

1. テスト実行の概要ページに、テスト結果の概要が表示されます。
   + 「**一意の問題**] セクションには、固有の警告と障害がリストされています。一意の問題を表示するには、「[一意の問題のレポートを表示する](#how-to-use-reports-console-unique-problems)」の手順に従います。
   + 「**デバイス**] セクションには、各デバイスでの合計テスト数が結果ごとに表示されます。

     ![\[Device Farm device summary results.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-device-summary-results-bar.png)

     この例には、いくつかのデバイスがあります。最初のテーブルエントリで、Android バージョン 10 を実行する Google Pixel 4 XL デバイスのレポートによると、3 件の成功したテストは実行に 2 分 36 秒を要しました。

     デバイスごとに結果を表示するには、「[デバイスのレポートを表示する](#how-to-use-reports-console-by-device)」の手順に従います。
   + 「**スクリーンショット**] セクションには、実行中に Device Farm がキャプチャーしてデバイスごとにグループ化した、スクリーンショットのリストが表示されます。
   + 「**解析結果**] セクションでは、解析結果をダウンロードできます。

### 一意の問題のレポートを表示する
<a name="how-to-use-reports-console-unique-problems"></a>

1. **[一意の問題]** で、表示する問題を選択します。

1. デバイスを選択します。レポートには、問題に関する情報が表示されます。

   「**動画**] セクションには、ダウンロード可能なテストのテストの動画記録が表示されます。

   **[結果]** セクションには、テストの結果が表示されます。ステータスは結果アイコンとして表されます。詳細については、「[個々のテストのステータス](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-individual)」を参照してください。

   **[ログ]** セクションには、テスト中に Device Farm が記録した情報が表示されます。この情報を表示するには、「[レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する](#how-to-use-reports-console-log)」の手順に従います。

   **[ファイル]** タブには、ダウンロード可能な、テスト関連ファイル (ログファイルなど) の一覧が表示されます。ファイルをダウンロードするには、リスト内のファイルのリンクを選択します。

   **[スクリーンショット]** タブには、Device Farm がテスト中にキャプチャした、スクリーンショットのリストが表示されます。

### デバイスのレポートを表示する
<a name="how-to-use-reports-console-by-device"></a>
+ **[デバイス]** セクションで、デバイスを選択します。

  **[ビデオ]** セクションには、ダウンロード可能なテストのビデオ記録が表示されます。

  **[スイート]** セクションには、デバイスのスイートに関する情報を含んでいるテーブルが表示されます。

  このテーブルでは、**[テスト結果]** 列に、デバイス上で実行した各テストスイートにおけるテスト数を結果ごとにまとめています。また、このデータにはグラフィカルコンポーネントもあります。詳細については、「[複数のテストのステータス](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-summary)」を参照してください。

  スイートごとにすべての結果を表示するには、「[テストスイートレポートを表示する](#how-to-use-reports-console-by-suite)」の手順に従います。

  **[ログ]** セクションには、実行中に Device Farm がデバイス用に記録した情報が表示されます。この情報を表示するには、「[レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する](#how-to-use-reports-console-log)」の手順に従います。

  **[ファイル]** セクションには、デバイスの他、ダウンロード可能な関連ファイル (ログファイルなど) に関するスイートのリストが表示されます。ファイルをダウンロードするには、リスト内のファイルのリンクを選択します。

  **[スクリーンショット]** セクションには、デバイスの実行中に Device Farm がキャプチャしてスイートごとにグループ化した、スクリーンショットのリストが表示されます。

### テストスイートレポートを表示する
<a name="how-to-use-reports-console-by-suite"></a>

1. **[デバイス]** セクションで、デバイスを選択します。

1. **[スイート]** セクションで、テーブルからスイートを選択します。

   **[ビデオ]** セクションには、ダウンロード可能なテストのビデオ記録が表示されます。

   **[テスト]** セクションには、スイートのテストに関する情報を含んでいるテーブルが表示されます。

   テーブルでは、**[テスト結果]** 列に結果が表示されます。また、このデータにはグラフィカルコンポーネントもあります。詳細については、「[複数のテストのステータス](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-summary)」を参照してください。

   テストごとに結果を最大限に表示するには、「[テストレポートを表示する](#how-to-use-reports-console-by-test)」の手順に従います。

   **[ログ]** セクションには、スイートの実行中に Device Farm が記録した情報が表示されます。この情報を表示するには、「[レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する](#how-to-use-reports-console-log)」の手順に従います。

   **[ファイル]** セクションには、スイート用のテストのリストと、ダウンロード可能な関連ファイル (ログファイルなど) が表示されます。ファイルをダウンロードするには、リスト内のファイルのリンクを選択します。

   **[スクリーンショット]** セクションには、スイートの実行中に Device Farm がキャプチャしてテストごとにグループ化した、スクリーンショットのリストが表示されます。

### テストレポートを表示する
<a name="how-to-use-reports-console-by-test"></a>

1. **[デバイス]** セクションで、デバイスを選択します。

1. **[スイート]** セクションで、スイートを選択します。

1. **[テスト]** セクションで、テストを選択します。

1. **[ビデオ]** セクションには、ダウンロード可能なテストのビデオ記録が表示されます。

   **[結果]** セクションには、テストの結果が表示されます。ステータスは結果アイコンとして表されます。詳細については、「[個々のテストのステータス](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-individual)」を参照してください。

   **[ログ]** セクションには、テスト中に Device Farm が記録した情報が表示されます。この情報を表示するには、「[レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する](#how-to-use-reports-console-log)」の手順に従います。

   **[ファイル]** タブには、ダウンロード可能な、テスト関連ファイル (ログファイルなど) の一覧が表示されます。ファイルをダウンロードするには、リスト内のファイルのリンクを選択します。

   **[スクリーンショット]** タブには、Device Farm がテスト中にキャプチャした、スクリーンショットのリストが表示されます。

### レポート内の問題、デバイス、スイート、またはテストのログ情報を表示する
<a name="how-to-use-reports-console-log"></a>

**[ログ]** セクションでは以下の情報が表示されます:
+ **ソース**] はログエントリのソースを表します。可能な値は以下のとおりです:
  + **[ハーネス]** は、Device Farm が作成したログエントリを表します。これらのログエントリは、通常、イベントの開始および停止中に作成されます。
  + **[デバイス]** は、デバイスが作成したログエントリを表します。Android の場合、これらのログエントリは logcat と互換性があります。iOS の場合、これらのログエントリは syslog と互換性があります。
  + **テスト**] は、テストまたはテストフレームワークのいずれかが作成したログエントリを表します。
+ **時間**] は、最初のログエントリと、このログエントリの間の経過時間を表します。時間は *MM:SS.SSS* 形式で表されます。*M* は分を表し、*S* は秒を表します。
+ **PID**] は、ログエントリを作成したプロセス識別子 (PID) を表します。デバイス上のアプリケーションによって作成されるログエントリの PID はすべて同一になります。
+ **レベル**] はログエントリのロギングレベルを表します。例えば、`Logger.debug("This is a message!")` は `Debug` の**レベル**を記録します。使用できる値は次のとおりです:
  + **アラート**
  + **[非常事態]**
  + **デバッグ**
  + **緊急**
  + **[エラー]**
  + **エラー発生**
  + **失敗**
  + **情報**
  + **内部**
  + **注意**
  + **成功**
  + **スキップ**
  + **停止**
  + **詳細**
  + **警告済み**
  + **警告**
+ **タグ**] は、ログエントリの任意のメタデータを表します。例えば、Android logcat は、システムのどの部分がログエントリを作成したかを記述するためにこれを使用できます (例: `ActivityManager`)。
+ **メッセージ**] は、ログエントリのメッセージまたはデータを表します。例えば、`Logger.debug("Hello, World!")` は `"Hello, World!"` の**メッセージ**を記録します。

情報の一部のみを表示するには:
+ 特定の列の値と一致するすべてのログエントリを表示するには、検索バーに値を入力します。例えば、`Harness` の **[ソース]** 値を使用してすべてのログエントリを表示するには、検索バーに「**Harness**」と入力します。
+ 列ヘッダーボックスからすべての文字を削除するには、その列ヘッダーボックスの **[X]** を選択します。列ヘッダーボックスからすべての文字を削除することは、その列のヘッダーボックスに「**\$1**」を入力するのと同じです。

実行したすべてのスイートとテストを含む、デバイスのすべてのログ情報をダウンロードするには、**[ログをダウンロード]** を選択します。

# Device Farm テスト結果のステータス
<a name="how-to-use-reports-displaying-results"></a>

Device Farm コンソールが表示するアイコンは、完了したテスト実行の状態の迅速な評価に役立ちます。Device Farm のテストに関する詳細については、「[AWS Device Farm でのレポートレポート](reports.md)」を参照してください。

**Topics**
+ [個々のテストのステータス](#how-to-use-reports-displaying-results-individual)
+ [複数のテストのステータス](#how-to-use-reports-displaying-results-summary)

## 個々のテストのステータス
<a name="how-to-use-reports-displaying-results-individual"></a>

個々のテストについて伝えるレポートでは、Device Farm はテスト結果のステータスを表すアイコンを表示します。


| 説明 | アイコン | 
| --- | --- | 
| テストが成功しました。 | ![\[The test succeeded.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-success.png) | 
| テストが失敗しました。 | ![\[The test failed.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-failure.png) | 
| Device Farm がテストをスキップしました。 | ![\[The test was skipped.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-skipped.png) | 
| テストが停止しました。 | ![\[The test was stopped.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-stopped.png) | 
| Device Farm が警告が返しました。 | ![\[Device Farm returned a warning.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-warning.png) | 
| Device Farm がエラーを返しました。 | ![\[Device Farm returned an error.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-run-error.png) | 

## 複数のテストのステータス
<a name="how-to-use-reports-displaying-results-summary"></a>

完了した実行を選択すると、Device Farm はさまざまな状態のテストの割合を示す概要グラフを表示します。

![\[Device Farm test results summary graph.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/df-summary-results-graph.png)

例えば、このテスト実行の結果グラフは、停止したテストが 4、失敗したテストが 1、成功したテストが 10 あることを表します。

グラフには常に色分けとラベル付けがされています。

# Device Farm でのアーティファクトのダウンロード
<a name="artifacts"></a>

Device Farm では、レポート、ログファイル、画像などのアーティファクトを各実行テストで収集します。

テスト実行中に作成されたアーティファクトはダウンロードできます:

**ファイル**  
テスト実行中に生成されたファイル (例: Device Farm レポート)。詳細については、「[Device Farm でのテストレポートの表示](how-to-use-reports.md)」を参照してください。

**ログ**  
テスト実行の各テストの出力。

**スクリーンショット**  
テスト実行のテストごとに記録されるスクリーン画像。

![\[Workflow diagram showing Project, Run, Job (device), Test suite, and Test stages in AWS クラウド.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/hierarchy.png)


## アーティファクトのダウンロード (コンソール)
<a name="artifacts-console"></a>

1. テスト実行のレポートページで、**[デバイス]** からモバイルデバイスを選択します。

1. ファイルをダウンロードするには、**[ファイル]** からいずれかを選択します。

1. テスト実行からログをダウンロードするには、**[ログ]** から **[ログをダウンロード]** を選択します。

1. スクリーンショットをダウンロードするには、**[スクリーンショット]** からスクリーンショットを選択します。

カスタムのテスト環境におけるアーティファクトのダウンロードの詳細については、「[カスタムテスト環境でのアーティファクトのダウンロード](using-artifacts-custom.md)」を参照してください。

## アーティファクトのダウンロード (AWS CLI)
<a name="artifacts-cli"></a>

を使用して AWS CLI 、テストランアーティファクトを一覧表示できます。

**Topics**
+ [ステップ 1: Amazon リソースネーム (ARN) を取得する](#artifacts-cli-step1)
+ [ステップ 2: アーティファクトをリストする](#artifacts-cli-step2)
+ [ステップ 3: アーティファクトをダウンロードする](#artifacts-cli-step3)

### ステップ 1: Amazon リソースネーム (ARN) を取得する
<a name="artifacts-cli-step1"></a>

アーティファクトは、実行、ジョブ、テストスイート、またはテストごとにリストできます。対応する ARN を指定する必要があります。この表は、各 AWS CLI リストコマンドの入力 ARN を示しています。


| AWS CLI コマンドを一覧表示する | 必須 ARN | 
| --- | --- | 
| list-projects | このコマンドは、すべてのプロジェクトを返し、ARN を必要としません。 | 
| list-runs | project | 
| list-jobs | run | 
| list-suites | job | 
| list-tests | suite | 

例えば、テスト ARN を見つけるには、テストスイート ARN を入力パラメータとして使用して **list-tests** を実行します。

例:

```
aws devicefarm list-tests –-arn arn:MyTestSuiteARN
```

この応答には、テストスイートにある各テストのテスト ARN が含まれます。

```
{
    "tests": [
        {
            "status": "COMPLETED",
            "name": "Tests.FixturesTest.testExample",
            "created": 1537563725.116,
            "deviceMinutes": {
                "unmetered": 0.0,
                "total": 1.89,
                "metered": 1.89
            },
            "result": "PASSED",
            "message": "testExample passed",
            "arn": "arn:aws:devicefarm:us-west-2:123456789101:test:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
            "counters": {
                "skipped": 0,
                "warned": 0,
                "failed": 0,
                "stopped": 0,
                "passed": 1,
                "errored": 0,
                "total": 1
            }
        }
    ]
}
```

### ステップ 2: アーティファクトをリストする
<a name="artifacts-cli-step2"></a>

 AWS CLI [list-artifacts](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-artifacts.html) コマンドは、ファイル、スクリーンショット、ログなどのアーティファクトのリストを返します。各アーティファクトには URL が含まれ、ファイルをダウンロードできます。
+ 実行、ジョブ、テストスイート、またはテスト ARN を指定して、**list-artifacts** を呼び出します。タイプ (ファイル、ログ、またはスクリーンショット) を指定します。

  この例は、各テストで使用できる各アーティファクトの ダウンロード用 URL を返します:

  ```
  aws devicefarm list-artifacts --arn arn:MyTestARN --type "FILE"
  ```

  この応答には、各アーティファクトのダウンロード用 URL が含まれます。

  ```
  {
      "artifacts": [
          {
              "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
              "extension": "txt",
              "type": "APPIUM_JAVA_OUTPUT",
              "name": "Appium Java Output",
              "arn": "arn:aws:devicefarm:us-west-2:123456789101:artifact:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
          }
      ]
  }
  ```

### ステップ 3: アーティファクトをダウンロードする
<a name="artifacts-cli-step3"></a>
+ 前のステップの URL を使用して、アーティファクトをダウンロードします。この例では、**curl** を使用して、Android Appium Java 出力ファイルをダウンロードします:

  ```
  curl "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL" > MyArtifactName.txt
  ```

## アーティファクトのダウンロード (API)
<a name="artifacts-api"></a>

Device Farm API の [[ListArtifacts]](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListArtifacts.html) メソッドは、ファイル、スクリーンショット、ログなどのアーティファクトのリストを返します。各アーティファクトには URL が含まれ、ファイルをダウンロードできます。

# カスタムテスト環境でのアーティファクトのダウンロード
<a name="using-artifacts-custom"></a>

カスタムテスト環境で、Device Farm は、カスタムレポート、ログファイル、画像などのアーティファクトを収集します。これらのアーティファクトは、テスト実行でデバイスごとに表示されます。

テスト実行中に作成されるこれらのアーティファクトはダウンロードできます:

**テスト仕様出力**  
テスト仕様 YAML ファイル内のコマンドの実行による出力。

**お客様のアーティファクト**  
テスト実行のアーティファクトを含む ZIP ファイル。テスト仕様 YAML ファイルの **[アーティファクト:]** セクションで構成されます。

**テスト仕様シェルスクリプト**  
YAML ファイルから作成される中間シェルスクリプト。このシェルスクリプトファイルはテスト実行で使用されるため、YAML ファイルのデバッグに使用できます。

**テスト仕様ファイル**  
テスト実行で使用される YAML ファイル。

詳細については、「[Device Farm でのアーティファクトのダウンロード](artifacts.md)」を参照してください。

![\[カスタムテスト環境でのオペレーションの Device Farm 階層\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/hierarchy.png)
