# クラウドデバイスのテスト

# 導入

多くの場合、複数のOSバージョン且つ、複数の異なる端末で、テストを実行する必要があります。
その際、モバイル端末を複数台、準備する必要があります。
幸いなことに、実際のモバイルテストにおいては、クラウドを利用できます。
ここでは、いくつかのクラウドデバイステストプロバイダーをGondolaで使用する方法について説明します。

# ブラウザスタック

  • ブラウザスタックにログインする。

  • [Product]> [App]に移動する。

  • クイックスタートガイドで、アプリをアップロードする。 browserstack setup

  • 次に、情報をgondola.jsonファイルに追加する。

  • appは上からのappurlになる。

  • browerstack.userbrowserstack.keyはユーザー名とアクセスキーであり、ブラウザスタックApp Automateページにある。

  • browsertack.appium_versionは、テストに使用するAppiumバージョンである。

{
    "output": "./results",
    "helpers": {
        "Appium": {
            "require": "./node_modules/@logigear/gondola/built/helper/AppiumEx",
            "hostname": "hub-cloud.browserstack.com",
            "port": 80,
            "app": "bs://<yourBrowserStackAppURL>",
            "desiredCapabilities": {
                "device": "Samsung Galaxy S8",
                "browserstack.user": "<yourBrowserStackUserName>",
                "browserstack.key": "<yourBrowserStackKey",
                "browserstack.debug": true,
                "browserstack.appium_version": "1.14.0"
            }
        },
        "GondolaHelper": {
            "require": "./node_modules/@logigear/gondola/built/helper/gondolahelper"
        }
    },
    "plugins": {
        "screenshotOnFail": {
            "enabled": "true"
        },
        "allure": {}
    },
    "tests": "./built/tests/loginValidation.js",
    "name": "SampleAndroid"
}

# リモートテストキット

  1. リモートテストキットをダウンロードしてインストールする。

  2. リモートテストキットを起動してログインする。

  3. デバイスをレンタルしてADB接続(Android)またはUSB接続(iOS)を有効にします。
    マルチデバイスをテストする場合は、複数のデバイスをレンタルできます。
    iOSデバイスの場合は、XCodeが既にインストールされたmacOSマシンでRemote Testkitを実行してください。

    enable ADB connection

    enable USB connection

  4. Androidデバイスでは、 adb devicesを実行して、デバイスが接続されているかどうかを確認します。
    iOSでは、XCodeでデバイスの接続ステータスを確認してください。 :::TIP      iOSデバイスに.ipaファイルをデプロイする場合は、レンタルしているデバイスがAppleプロビジョニングプロファイルに追加されていることを確認してください。 :::

  5. デバイスに合わせるようにgondola.json設定する。

# AWSデバイスファーム

  1. AWSデバイスファームへの完全なアクセス許可を持つIAMユーザーを作成する

    AWS IAM User setup

  2. ログインして新しいプロジェクトを作成してから、新しい実行を作成してアプリケーションを選択する

    AWS IAM Create Run

  3. "<テスト用のアプリ>".apk(Androidの場合)、または"<テスト用のアプリ>".ipa(iOSの場合)をAWSデバイスファームにアップロードします。
    iOSテストでは、実端末(シミュレーターのではない)のipaファイルをビルドしてください。

  4. Gondola ABTプロジェクトを作成します。 必ず下記のコマンドを実行してください。

    • npm i
    • npm run compile
  5. すべてのファイルとフォルダー(srcフォルダーを除く)をzipファイルに入れてアップロードしてから、"Appium Node.js"による実行タイプを選択する。

    AWS IAM NodeJs Test

  6. .ymlファイルを編集します。下記のようにいくつかの例を示す(Appiumサーバー、Android、iOSのターゲットバージョンを置き換えてください):

  1. 利用可能なデバイスプールから一つ選択するか、新しいデバイスプールを作成する。

    AWS IAM Select device

  2. テストを確認して実行する

  3. テスト結果を取得するために、各デバイスのテストサマリーを開き、"Customer Artifacts"をダウンロードする。

# Sauce Labs

要件:SauceLabsに登録してサインインする。

# 実デバイスクラウドテスト

  1. 右上にAccess Real Device Automationリンクをクリックする。 access real device automation
  2. New Appボタンを押して新しいアプリを作成する。 New App
  3. アプリをSauceLabのサーバーに直接アップロードするか、リモートでホストできる。 Upload App
  4. アプリをアップロードすると、デバイスの管理ページに移動する。 Device Page
  5. アップロードされたアプリの基本セットアップページに移動して、gondola.json構成に必要な機能を取得する(“AUTOMATED TESTING”>>Appium>>Setup Instructions)。

# 実デバイスのgondola.jsonサンプル

TIP

  • appは、ユーザーがアップロードしたアプリファイル(apk/ipa/zip)の場所です。
    アプリファイルをアップロードする方法はたくさんあります。
    この記事をお読みください。
  • ユーザーは、USとEUのデバイスサーバーを選択できます。 各サーバーの情報は、"Setup Instructions"の下に表示されます。
  • testobject_api_keyは各テストプロジェクトのユニークIDです。“Setup Instructions”の下に表示され、テストの実行に必要です。
  • platformName and platformVersionは必要項目です。“Setup Instructions”の下にバージョンの詳細を含むサポートされているデバイスのリストがあります。 (View Devicesボタンをクリックする)
  • 実デバイスでテストを実行する機能の詳細については、こちらに表示されています。

# エミュレーター/シミュレータークラウドテスト

https://app.saucelabs.com/dashboard に移動し、「User Settings」に移動してドライバー作成URLを取得します。

ドライバー作成URLの形式は次のようです: https://$username:$Access_KEY@ondemand.saucelabs.com:443/wd/hub ユーザー名として「abc」、アクセスキーとして「1234-5678」を持つアカウントのURLの例は次のようです: https://abc:1234-5678@ondemand.saucelabs.com:443/wd/hub

TIP

  • appは必須で、アプリへのリンクを指定する。
  • ドライバ作成URLを使用して、必須のhostプロパティを設定する。
  • エミュレーター/シミュレーターでテストを実行する機能の詳細については、こちらをご覧ください。
  • プラットフォームコンフィギュレーターを使用して、サポートされているエミュレーター/シミュレーターデバイスのリストを取得し、希望の機能のための正しい値に編集します。
  • アプリのアップロードの詳細については、ここをクリックしてください。
最終更新: 2020/12/28 4:12:58