開発者ブログ

 09.モバイルでのテスト

Last modified by nakatani on 2016/04/19, 11:08

はじめに

近年はスマートフォンの普及が進み、Webアプリケーションのモバイルを対象としたテストの重要性が高まっています。ここでは Appium を利用してAndroid端末(例として、Android 4.4.4 Xperia Z3)でテストをするための環境を構築します。

Appiumとは

AppiumとはSeleniumのWebDriverインターフェース経由でAndroidやiPhone等のモバイル端末でWebアプリケーションをテストすることができるオープンソースソフトウェアです。Pitaliumはモバイル端末でのテスト実行にAppiumを利用します。

事前準備

以降の作業は、Selenium Grid環境と同じ端末の上で行うことを想定しています。
※異なる端末上でモバイルのテストを動作させたい場合は、Selenium Grid Hubサーバーへの登録の際、設定値を書き換える必要があることに注意して下さい。

Android SDKのインストール

AppiumはAndroidのデバッグツールを利用するためAndroid SDKのインストールとセットアップが必要です。

  1. こちらから android-sdk_rXX-windows.zip をダウンロードします。
    2016年4月現在のバージョンは r24.4.1 です。
  2. ダウンロードしたzipファイルを解凍し、適当な位置へ移動します。
    ここでは C:\opt\android へ移動したこととします。
  3. C:\opt\android\SDK Manager.exe を起動し、以下のパッケージをインストールします。
    ・Android SDK Platform-tools
    ・Android SDK Build-tools (番号が最も新しいものを1つ)
  4. C:\opt\android\platform-tools へパスを通します。

Node.jsのインストール

Appiumは Node.js 上で動作するため、Node.jsのインストーラーをダウンロードしてインストールを行います。

Gitのインストール

AppiumのインストールにGitが必要ですので、こちらからインストーラをダウンロードしてインストールを行います。

環境変数の設定

Appiumの動作にはAndroidとJavaの場所を環境変数に登録する必要があります。以下の二つを登録します。

 環境変数名  値の例
 ANDROID_HOME  C:\opt\android
 JAVA_HOME  C:\Program Files\Java\jdk1.8.0_77

Appiumの準備

Appiumのインストール

コマンドプロンプトを開き以下のコマンドを実行すると最新のAppiumがインストールされます。
2016年4月現在の最新バージョンは 1.5.1 です。

>npm installl -g appium appium-doctor
>appium -v
1.5.1

Appiumの動作確認

コマンドプロンプトを開き以下のコマンドを実行するとAppiumが動作可能かを確認することが出来ます。
iOSテスト環境のチェックを実行するには ios 、Android環境のチェックは android オプションを設定します。

>appium-doctor --android
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ ANDROID_HOME is set to: C:\opt\android
info AppiumDoctor  ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_77
info AppiumDoctor  ✔ adb exists at: C:\opt\android\platform-tools\adb.exe
info AppiumDoctor  ✔ android exists at: C:\opt\android\tools\android.bat
info AppiumDoctor  ✔ emulator exists at: C:\opt\android\tools\emulator.exe
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor

Selenium Grid Hubサーバーへの登録

Selenium Grid から Appium を利用するには、ノードサーバーの起動と同様にAppiumノードをSelenium Grid Hubに登録する必要があります。
こちらを参考に例えば以下のJSONを使用します。サンプルではファイル名を C:\opt\appium\nodeConfig.json とします。
version の値を分かりやすい名前にしておくと複数のAndroidデバイスを繋いだ時にGrid Hubサーバーのコンソール画面で判別がしやすくなります。

{
  "capabilities": [
    {
      "platform": "ANDROID",
      "browserName": "chrome",
      "version": "4.4.4 Xperia Z3",
      "platformName": "Android",
      "platformVersion": "4.4.4",
      "deviceName": "Xperia Z3",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "configuration": {
    "cleanUpCycle": 2000,
    "timeout": 30000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "host": "127.0.0.1",
    "port": 4723,
    "maxSession": 1,
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "localhost"
  }
}

※Selenium Grid Hubサーバーが動作している端末とAppiumを動作させる端末が異なる場合は、"hubHost"の設定値をSelenium Grid Hubサーバーが動作している端末のホスト(IPアドレス)に書き換えてください。

そしてコマンドプロンプトを開き起動コマンドを実行します。
※nodeConfig.jsonファイルへのパスは、絶対パスで指定して下さい。

appium --nodeconfig C:\opt\appium\nodeConfig.json

※Android 4.2以降のデバイスが対象です。それ以前のバージョンはこちらをご参照ください。

動作確認

テストを実行するPCにAndroidデバイスを接続します。デバイスの設定で、USBデバッグを有効にして下さい。
次のcapabilities.jsonを作成してテストを実行し、モバイルデバイス上でテストが動作することを確認します。

[
  {
   "platform": "ANDROID",
   "browserName": "chrome",
   "version": "4.4.4 Xperia Z3",
   "platformName": "Android",
   "platformVersion": "4.4.4",
   "deviceName": "Xperia Z3"
  }
]

次のステップ ⇒ 10.Pitalium Explorerを使用してテスト結果を確認する

参照


Copyright (C) 2012-2017 NS Solutions Corporation, All Rights Reserved.