アプリのテスト自動化
AndroidとiOSのテスト自動化を「Appium」を使用する。
※Selenium WebDriverの仲間である。
Download Appium
「Appium」を起動します。
注意点
Android SDKの「SDK Platforms」
API Level 17以上が対象になります。API Level 16以下だとエラーが返ってきます。
システム環境の変数値がまちがっているとエラーがログに吐かれます。
環境構築
システム環境
変数名 | 変数値 | 備考 |
---|---|---|
ANDROID_HOME | C:\Users\GSNP-086\AppData\Local\Android\sdk |
変数名 | 変数値 | 備考 |
---|---|---|
JAVA_HOME | C:\Program Files\Java\jdk1.8.0_65 |
設定後は、PCを再起動する
Appiumのファイル
Appiumのファイルはbitbucketで管理されています。
https://bitbucket.org/appium/appium.app/downloads/
nodejsも併せて。
http://nodejs.org/download/
node-v0.12.7-x64(or 86).msi をダウンロード
インストールします。
設定
1.JDKをインストールするところからはじめます。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Accept License Agreementを選択し、対象のProductを選択します。
2.環境変数:JAVA_HOMEにインストールしたJDKを設定します。
3.Android Studioをインストールします。
http://developer.android.com/intl/ja/sdk/index.html
4.環境変数:ANDROID_HOMEにインストールした値を設定します。
5.環境変数:PathにAndroid SDK Toolsのパスを設定します。
6.AVD Managerの起動(※先にAVDエミュレータを起動しておかないとエラーになる)
7.Appiumの設定。右端の■のボタンをクリックする。Launching Appium server with commandと表示することを確認
Launching Appium server with command: C:\Program Files\Appium\node.exe lib\server\main.js
--address 127.0.0.1 --port 4723 --app-activity com.unity3d.player.UnityPlayerActivity
--app-pkg com.selvas.selvashubtest --intent-action android.intent.action.MAIN
--intent-flags 0x10200000 --platform-name Android --platform-version 19
--automation-name Appium --device-name "emulator-5556" --log-no-color
> Launching Appium server with command: C:\Program Files\Appium\node.exe lib\server\main.js --address 127.0.0.1 --port 4723 --app-activity com.unity3d.player.UnityPlayerActivity --app-pkg com.selvas.selvashubtest --intent-action android.intent.action.MAIN --intent-flags 0x10200000 --platform-name Android --platform-version 19 --automation-name Appium --device-name "emulator-5556" --log-no-color
> warn: Appium support for versions of node < 0.12 has been deprecated and will be removed in a future version. Please upgrade!
> info: Welcome to Appium v1.4.13 (REV c75d8adcb66a75818a542fe1891a34260c21f76a)
> info: Appium REST http interface listener started on 127.0.0.1:4723
> info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"androidPackage":"com.selvas.selvashubtest","androidActivity":"com.unity3d.player.UnityPlayerActivity","deviceName":"emulator-5556","platformName":"Android","platformVersion":"19","automationName":"Appium"}
> info: Console LogLevel: debug
8.Appnium Inspectorの起動。Refreshボタンをクリックするとアプリが起動します。
進んでいくと
9.エミュレータ確認(試しに動画広告のapkファイルを読み込ませる)
cocos2d-x SDK
logにエラーが表示し、うまく起動しない。
Unity SDK
unity SDKは起動しました。
Android SDK
Android SDKは起動しました。
10.実機確認
スクリプト
require 'selenium-webdriver'
require 'appium_lib'
opts = {caps: {deviceName: :android,
platformName: :android,
app: 'C:\Users\GSNP-086\Downloads\CPV_And_U.apk', 動画広告apkファイルを設定する
appActivity: 'XXXXXX'}}
driver = Appium::Driver.new(opts).start_driver
★要素を取得し、タップする。staticメソッドを使って指定する。
//タップする
driver.find_element(:id, "abc").click
//コンポーネントに対してUSERIDにを入力する
driver.find_element(:id, "user").send_keys("test")
//コンポーネントに対してZONEIDを入力する
driver.find_element(:id, "zone").send_keys("201211111")
//タップする
driver.find_element(:id, "abc").click
driver.quit
ホーム | トップ | 詳細 | 画像 |
---|---|---|---|