Android端末上でテストを行う(GUI)
- HTML5 APIs
- UI ライブラリ
- テスト支援
- ドキュメント
- コード品質ツール
- バリデータ
- キー入力支援
- テストダブル
- ハイブリッドアプリケーション
- 継続的インテグレーション
- テスト環境
- Appiumのダウンロード
- Android SDKのインストール
- Android端末の接続
- Appium起動・テスト(Android4.1以前)
- Appium起動・テスト(Android4.2以降)
テスト環境
- Windows7 64bit SP1
- JDK 1.7
Appiumのダウンロード
- http://appium.io/ から、
AppiumForWindows-1.3.4.1.zip をダウンロードし、
任意の場所に解凍する。
Android SDKのインストール
- http://developer.android.com/sdk/index.html から、
android-sdk_r24.0.2-windows.zip をダウンロードし、
任意の場所に解凍する。 - SDK Managerを起動する。
- (プロキシ環境のみ)Tools -> Options... を開き、
「HTTP Proxy Server」「HTTP Proxy Port」の設定をする。
また、"Force https://... sources to be fetched using http://..."にチェックを入れる。 - 以下のパッケージをインストールする。
・Tools
- Android SDK Tools (1で最新バージョンをDLしていれば、これはインストール済になっている)
- Android SDK Platform-tools
- Android SDK Build-tools
・Android 4.4.2(API 19)(17以上ならどれでも良い)
- SDK Platform
・Extras
- Google USB Driver - 環境変数のPathに以下の場所を追加する。
・(Android SDKのインストールフォルダ)\android-sdk-windows\platform-tools
Android端末の接続
- Android端末の設定でUSBデバッグを有効にする。
- 端末をPCに接続する。
※必要に応じて、専用のUSBドライバをPCにインストールする。 - コマンドプロンプトで次のコマンドを実行する。
adb devices - 接続した端末が認識されていることを確認する。正しく認識されていれば、端末のIDが表示される。
adb devices
List of devices attached
<端末のID> device
Appium起動・テスト(Android4.1以前)
Appiumでは、Android4.1以前に対してはSelendroidの仕組みを用いて、
ブラウザではなくWebViewを埋め込んだ専用のアプリをインストールしてテストを行う。
nodeConfig.jsonファイルの用意
- 任意のフォルダに、次のような内容でnodeConfig.json(Selenium GridにAppiumサーバを登録するための設定を記載するファイル)を作成する。
{ "capabilities":
[
{
"platform": "ANDROID",
"platformName": "Android",
"deviceName": "Galaxy S2",
"browserName": "android",
"version": "2.3.6",
"platformVersion": "19",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://127.0.0.1:4723/wd/hub",
"host":"127.0.0.1",
"port":4723,
"maxSession":1,
"register":true,
"registerCycle":5000,
"hubPort":4444,
"hubHost": "localhost"
}
}
●項目の説明
・platformName:テストを実行する端末のOS。 ex) Android, iOS
・platformVersion:端末のOSのバージョン。
・deviceName:端末の種類。 ex) Xperia Z3, Galaxy S4
・url:Appiumサーバのアドレス。
・host:「url」のホスト部。
・port:「url」のポート。
・hubPort:Hubの起動しているポート。
・hubHost:Hubの起動しているサーバのホスト。
WebViewテスト用アプリのダウンロード
- http://search.maven.org/#search|ga|1|selendroid から、
android-driver-app.apk をダウンロードし、
任意の場所に解凍する。
Appiumの起動・設定
- Appium.exeを起動する。
- 設定メニューで、次の項目を設定する。
・Android Settings
・Application
- Application Path:WebViewテスト用アプリ(.apkファイル)へのフルパス
- Package:アプリのパッケージ名。Application Pathを選択すると、選択できる値が自動的にプルダウンに表示される。
- Launch Activity:起動するアクティビティ名。同上。
・Advanced
- Selendroid Port:衝突しない任意のポート。デフォルトは8080。
・General Settings
・Server
- Selenium Grid Configuration File:nodeConfig.jsonへのフルパス - 右上の「Launch the Appium Node Server」ボタンを押してAppiumサーバを起動する。
- ブラウザでGrid Consoleのページを開き、Appiumのノードがコンソール画面に追加
されていることを確認する。
Appium起動・テスト(Android4.2以降)
nodeConfig.jsonファイルの用意
- 任意のフォルダに、次のような内容でnodeConfig.jsonを作成する。
{
"capabilities":
[
{
"platformName": "Android",
"deviceName": "Xperia Z3",
"browserName": "chrome",
"version": "4.4.4 Xperia Z3",
"platformVersion": "22",
"maxInstances": 1,
"seleniumProtocol": "WebDriver",
"platform": "ANDROID"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://127.0.0.1:4723/wd/hub",
"host":"127.0.0.1",
"port":4723,
"maxSession":1,
"register":true,
"registerCycle":5000,
"hubPort":4444,
"hubHost": "localhost"
}
}
●項目の説明
・browserName: "chrome", "Browser"(Android 4.4以降のみ)が指定できる。
Appiumの起動・設定
- Appium.exeを起動する。
- 「General Settings」の中の「Selenium Grid Configuration File」にチェックを入れ、
nodeConfig.jsonの場所をフルパスで指定する。 - 右上の「Launch the Appium Node Server」ボタンを押してAppiumサーバを起動する。
- ブラウザでGrid Consoleのページを開き、Appiumのノードがコンソール画面に追加
されていることを確認する。