AppiumをiOSシミュレータで使う

シミュレータを使って試験を行う場合、build 時に生成される.appの実行ディレクトリを対象に、シミュレータにアプリをインストールしてappium経由でコマンドを送信、試験が実施されます。

以下、サンプルシナリオを実施するにあたり、大まかな手順です。

  1. サンプルプロジェクトをビルドする
  2. .appディレクトリをzip化する※zip化せずともできました。
  3. サンプルシナリオの一部を修正し、ビルドした成果物を試験対象にする
  4. appiumを起動する
  5. サンプルシナリオを実行する

ここで、サンプルシナリオはnodeコマンドにより実行されるものを使います。

サンプルプロジェクトをビルドする

iPhoneシミュレータにて、まずはgithubの以下にあるnodeのテストサンプルを動かしてみることにします。

https://github.com/appium/appium/tree/master/sample-code/examples/node/simplest.js

そこで使われるテストコードをビルドします。

Xcodeで開くプロジェクト

https://github.com/appium/appium/tree/master/sample-code/apps/TestApp/TestApp.xcodeproj

こちらをシミュレータをターゲットにビルドすると、以下のように、TestApp.appを得ることができます。この.appが試験モジュール(シミュレータにおけるリリースモジュール)です。

TestApp/build/Release-iphonesimulator/TestApp.app

.appディレクトリをzip化する

以下により、zip化したアプリを作成します。

$ zip -r TestApp.app.zip TestApp.app

サンプルシナリオの一部を修正し、ビルドした成果物を試験対象にする

20131114時点では simplest.js は以下のようなコードでしたので、appURLを指定する。

修正前

var wd = require("wd")
, assert = require("assert")
, appURL = "http://appium.s3.amazonaws.com/TestApp6.0.app.zip";

// Instantiate a new browser session
var browser = wd.remote("localhost", 4723);

修正後

var wd = require("wd")
, assert = require("assert")
, appURL = "/home/[TestApp.app.zipまでのパス]/TestApp.app.zip";

// Instantiate a new browser session
var browser = wd.remote("localhost", 4723);

appiumを起動、サンプルシナリオを実行します

appiumを実行する

$ appium -a localhost

nodeを実行する

$ node simplest.js

すると、iPhoneシミュレータが起動してアプリが動作します。

tips

iPhoneシミュレータは、初期ではiPhone7.0だけなので、Xcodeの設定から必要なバージョンのものをダウンロードしましょう。

Xcode4.6とXcode5を併存させている場合、以下により標準で起動するXcodeのバージョンを変更することができます。

例:Applicationディレクトリ以下に、Xcode4.6を別途ダウンロードした場合

$ xcode-select -switch /Applications/Xcode4_6.app

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中