Appiumでいろいろ


アプリのテスト自動化

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
ホーム トップ  詳細 画像

Something went wrong
Something went wrong
Something went wrong