

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

# Device Farm で Appium テストを自動的に実行する
<a name="test-types-appium"></a><a name="test-types-ios-appium-java-testng"></a><a name="test-types-ios-appium-java-junit"></a><a name="test-types-ios-appium-python"></a><a name="test-types-ios-appium-ruby"></a><a name="test-types-ios-appium-node"></a><a name="test-types-android-appium-java-testng"></a><a name="test-types-android-appium-java-junit"></a><a name="test-types-android-appium-python"></a><a name="test-types-android-appium-ruby"></a><a name="test-types-android-appium-node"></a><a name="test-types-web-app-appium-java-testng"></a><a name="test-types-web-app-appium-java-junit"></a><a name="test-types-web-app-appium-python"></a><a name="test-types-web-app-appium-ruby"></a><a name="test-types-web-app-appium-node"></a>

**注記**  
このページでは、Device Farm のマネージド**サーバー側の**実行環境で Appium テストを実行する方法について説明します。リモートアクセスセッション中にローカル**クライアント側の**環境から Appium テストを実行するには、[「クライアント側の Appium テスト](appium-endpoint.md)」を参照してください。

このセクションでは、Device Farm のマネージドサーバー側環境で実行するための Appium テストを設定、パッケージ化、アップロードする方法について説明します。Appium は、ネイティブおよびモバイル型のウェブアプリケーションを自動化するためのオープンソースのツールです。詳細については、Appium ウェブサイト上の「[Appium の紹介](http://appium.io/docs/en/latest/intro)」を参照してください。

サンプルアプリケーションおよび動作テストへのリンクについては、GitHub の 「[Android 用 Device Farm サンプルアプリケーション](https://github.com/aws-samples/aws-device-farm-sample-app-for-android)」および「[iOS 用 Device Farm サンプルアプリケーション](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios)」を参照してください。

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

## Appium バージョンの選択
<a name="w2aac24c15c41"></a>

**注記**  
 特定の Appium バージョン、Appium ドライバー、またはプログラミング SDKs のサポートは、テスト実行用に選択されたデバイスとテストホストによって異なります。

 Device Farm テストホストには Appium がプリインストールされており、より簡単なユースケースでテストをより迅速にセットアップできます。ただし、テスト仕様ファイルを使用すると、必要に応じて異なるバージョンの Appium をインストールできます。

### シナリオ 1: 事前設定された Appium バージョン
<a name="w2aac24c15c41b7b1"></a>

 Device Farm には、テストホストに基づいて異なる Appium サーバーバージョンが事前設定されています。ホストには、デバイスプラットフォームのデフォルトドライバー (UiAutomator2 for Android、XCUITest for iOS) を使用して事前設定されたバージョンを有効にするツールが付属しています。

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2}}
      - devicefarm-cli use appium $APPIUM_VERSION
```

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

### シナリオ 2: Appium のカスタムバージョン
<a name="w2aac24c15c41b7b3"></a>

 Appium のカスタムバージョンを選択するには、 `npm` コマンドを使用してインストールします。次の例は、最新バージョンの Appium 2 をインストールする方法を示しています。

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2}}
      - npm install -g appium@$APPIUM_VERSION
```

### シナリオ 3: レガシー iOS ホストでの Appium
<a name="w2aac24c15c41b7b5"></a>

 では[レガシー iOS テストホスト](custom-test-environments-hosts-ios.md#legacy-ios-host)、 で特定の Appium バージョンを選択できます`avm`。たとえば、 `avm` コマンドを使用して Appium サーバーバージョンを に設定するには`2.1.2`、これらのコマンドをテスト仕様の YAML ファイルに追加します。

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2.1.2}}
      - avm $APPIUM_VERSION
```

## iOS テスト用の WebDriverAgent バージョンの選択
<a name="test-types-appium-select-wda"></a>

 iOS デバイスで Appium テストを実行するには、WebDriverAgent を使用する必要があります。iOS デバイスにインストールするには、このアプリケーションに署名する必要があります。Device Farm には、カスタムテスト環境の実行中に使用できる WebDriverAgent の署名付きバージョンが用意されています。

 次のコードスニペットを使用して、XCTestUI ドライバーバージョンと互換性のあるテスト仕様ファイル内の Device Farm で WebDriverAgent バージョンを選択できます。

```
phases:
  pre_test:
    commands:
      - |-
        APPIUM_DRIVER_VERSION=$(appium driver list --installed --json | jq -r ".xcuitest.version" | cut -d "." -f 1);
        CORRESPONDING_APPIUM_WDA=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V${APPIUM_DRIVER_VERSION}")
        if [[ ! -z "$APPIUM_DRIVER_VERSION" ]] && [[ ! -z "$CORRESPONDING_APPIUM_WDA" ]]; then
          echo "Using Device Farm's prebuilt WDA version ${APPIUM_DRIVER_VERSION}.x, which corresponds with your driver";
          DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $CORRESPONDING_APPIUM_WDA | cut -d "=" -f2)
        else
          LATEST_SUPPORTED_WDA_VERSION=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V" | sort -V -r | head -n 1)
          echo "Unknown driver version $APPIUM_DRIVER_VERSION; falling back to the Device Farm default version of $LATEST_SUPPORTED_WDA_VERSION";
          DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $LATEST_SUPPORTED_WDA_VERSION | cut -d "=" -f2)
        fi;
```

 WebDriverAgent の詳細については、Appium の[ドキュメント](https://appium.github.io/appium-xcuitest-driver/9.10/guides/run-prebuilt-wda/)を参照してください。