

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

# AWS Device Farm テストアクションリファレンス
<a name="action-reference-DeviceFarm"></a>

パイプラインでは、 がデバイス上でアプリケーションを実行およびテスト AWS Device Farm するために使用するテストアクションを設定できます。Device Farm は、デバイスのテストプールとテストフレームワークを使用して、特定のデバイス上でアプリケーションをテストします。Device Farm アクションでサポートされているテストフレームワークのタイプについては、[AWS Device Farm でのテストタイプの操作](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html)」を参照してください。

**Topics**
+ [アクションタイプ](#action-reference-DeviceFarm-type)
+ [設定パラメータ](#action-reference-DeviceFarm-config)
+ [入力アーティファクト](#action-reference-DeviceFarm-input)
+ [出力アーティファクト](#action-reference-DeviceFarm-output)
+ [サービスロールのアクセス許可: AWS Device Farm アクション](#edit-role-devicefarm)
+ [アクションの宣言](#action-reference-DeviceFarm-example)
+ [関連情報](#action-reference-DeviceFarm-links)

## アクションタイプ
<a name="action-reference-DeviceFarm-type"></a>
+ カテゴリ:`Test`
+ 所有者: `AWS`
+ プロバイダー: `DeviceFarm`
+ バージョン: `1`

## 設定パラメータ
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
必須: はい  
テストする OS とアプリケーションのタイプ。有効な値のリストを次に示します。  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
必須: はい  
Device Farm プロジェクト ID。  
プロジェクト ID を見つけるには、Device Farm コンソールでプロジェクトを選択します。ブラウザで、新しいプロジェクトの URL をコピーします。URL には、プロジェクト ID が含まれます。プロジェクト ID は、`projects/` 以降の URL の値です。次の例で、プロジェクト ID は `eec4905f-98f8-40aa-9afc-4c1cfexample` です。  

```
https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
```

**アプリケーション**  
必須: はい  
入力アーティファクト内のアプリケーションファイルの名前と場所。例: `s3-ios-test-1.ipa`

**TestSpec**  
条件付き: はい  
入力アーティファクト内のテストスペック定義ファイルの場所。これはカスタムモードのテストに必要です。

**DevicePoolArn**  
必須: はい  
Device Farm デバイスプールの ARN。  
上位デバイスの ARNs など、プロジェクトの使用可能なデバイスプール ARN を取得するには、 CLI AWS を使用して次のコマンドを入力します。  

```
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
```

**TestType**  
必須: はい  
テストでサポートされるテストフレームワークを指定します。`TestType` の有効な値のリストを次に示します。  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTNG**
+ **APPIUM\$1NODE**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA\$1JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTNG**
+ **APPIUM\$1WEB\$1NODE**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **BUILTIN\$1FUZZZ**
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\$1UI**
以下のテストタイプは、CodePipeline のアクション `WEB_PERFORMANCE_PROFILE`、`REMOTE_ACCESS_RECORD`、および `REMOTE_ACCESS_REPLAY` ではサポートされていません。
Device Farm のテストタイプついては、[[AWS Device Farm でのテストタイプの操作](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html)] を参照してください。

**RadioBluetoothEnabled**  
必須: いいえ  
テストの開始時に Bluetooth を有効にするかどうかを示すブール値。

**RecordAppPerformanceData**  
必須: いいえ  
テスト中に CPU、FPS、メモリパフォーマンスなどのデバイスパフォーマンスデータを記録するかどうかを示すブール値。

**RecordVideo**  
必須: いいえ  
テスト中にビデオを記録するかどうかを示すブール値。

**RadioWifiEnabled**  
必須: いいえ  
テストの開始時に Wi-Fi を有効にするかどうかを示すブール値。

**RadionFCenabled**  
必須: いいえ  
テストの開始時に NFC を有効にするかどうかを示すブール値。

**RadioGpsEnabled**  
必須: いいえ  
テストの開始時に GPS を有効にするかどうかを示すブール値。

**テスト**  
必須: いいえ  
ソースの場所にあるテスト定義ファイルの名前とパス。パスは、テストの入力アーティファクトのルートに関連します。

**FuzzEventCount**  
必須: いいえ  
ファズテストが実行するユーザーインターフェイスイベントの数で、1 から 10000 の間で指定します。

**FuzzEventThrottle**  
必須: いいえ  
ファズテストが次のユーザーインターフェイスイベントを実行する前に待機するミリ秒数で、1 から 1000 の間で指定します。

**FuzzRandomizerSeed**  
必須: いいえ  
ユーザインタフェースイベントをランダム化するために使用するファズテストのシード。後続のファズテストに同じ番号を使用すると、同じイベントシーケンスになります。

**CustomHostMachineArtifacts**  
必須: いいえ  
ホストマシン上でカスタムアーティファクトが格納される場所。

**CustomDeviceArtifacts**  
必須: いいえ  
カスタムアーティファクトが保存されるデバイス上の場所。  


**UnmeteredDevicesOnly**  
必須: いいえ  
この手順でテストを実行するときに、測定されていないデバイスのみを使用するかどうかを示すブール値。

**JobTimeoutMinutes**  
必須: いいえ  
テスト実行がタイムアウトになるまでにデバイスごとに実行される分数。

**Latitude (緯度)**  
必須: いいえ  
デバイスの緯度は、地理座標系の度数で表されます。

**Longitude (経度)**  
必須: いいえ  
地理座標系の度数で表されたデバイスの経度。

## 入力アーティファクト
<a name="action-reference-DeviceFarm-input"></a>
+ **アーティファクトの数:** `1`
+ **説明:** テストアクションで使用可能にするアーティファクトのセット。Device Farm は、ビルドされたアプリケーションとテスト定義を使用するために検索します。

## 出力アーティファクト
<a name="action-reference-DeviceFarm-output"></a>
+ **アーティファクトの数:** `0` 
+ **説明:** 出力アーティファクトは、このアクションタイプには適用されません。

## サービスロールのアクセス許可: AWS Device Farm アクション
<a name="edit-role-devicefarm"></a>

CodePipeline がアクションを実行する際、CodePipeline サービスロールポリシーには、最小特権でアクセスを維持するために、パイプラインリソース ARN に適切にスコープダウンされた次のアクセス許可が必要です。例えば、以下をポリシーステートメントに追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "resource_ARN"
},
```

## アクションの宣言
<a name="action-reference-DeviceFarm-example"></a>

------
#### [ YAML ]

```
Name: Test
Actions:
  - Name: TestDeviceFarm
    ActionTypeId: null
    category: Test
    owner: AWS
    provider: DeviceFarm
    version: '1'
RunOrder: 1
Configuration:
  App: s3-ios-test-1.ipa
  AppType: iOS
  DevicePoolArn: >-
    arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5
  ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE
  TestType: APPIUM_PYTHON
  TestSpec: example-spec.yml
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Test",
    "Actions": [
        {
            "Name": "TestDeviceFarm",
            "ActionTypeId": null,
            "category": "Test",
            "owner": "AWS",
            "provider": "DeviceFarm",
            "version": "1"
        }
    ],
    "RunOrder": 1,
    "Configuration": {
        "App": "s3-ios-test-1.ipa",
        "AppType": "iOS",
        "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5",
        "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE",
        "TestType": "APPIUM_PYTHON",
        "TestSpec": "example-spec.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
},
```

------

## 関連情報
<a name="action-reference-DeviceFarm-links"></a>

このアクションを利用する際に役立つ関連リソースは以下の通りです。
+ [[Device Farm でのテストタイプの実行](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html)] - [*Device Farm 開発者ガイド*] のこのリファレンス章では、Device Farm でサポートされる Android、iOS、および Web アプリケーションのテストフレームワークについて詳しく説明します。
+ [[Device Farm のアクション](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html)] - [*Device Farm API リファレンス*] の API 呼び出しとパラメータは、Device Farm プロジェクトの操作に役立ちます。
+ [チュートリアル: を使用して Android アプリを構築およびテストするパイプラインを作成する AWS Device Farm](tutorials-codebuild-devicefarm.md)— このチュートリアルでは、CodeBuild と Device Farm を使用して Android アプリケーションをビルドおよびテストするパイプラインを GitHub ソースで作成するためのサンプルビルド仕様ファイルとサンプルアプリケーションを提供します。
+ [チュートリアル: で iOS アプリをテストするパイプラインを作成する AWS Device Farm](tutorials-codebuild-devicefarm-S3.md) — このチュートリアルでは、Device Farm でビルドされた iOS アプリケーションをテストする Amazon S3 ソースでパイプラインを作成するためのサンプルアプリケーションを提供します。