Mobile Safariのテスト

yu.takada edited this page Nov 8, 2016 · 5 revisions

ここではiOSシミュレータもしくはiOS端末実機上のMobile SafariでSIT-WTの自動テストを実行する手順を説明します。 全体の大まかな流れは下記の通りです。

  • 実行環境
  • プロパティファイル作成
  • 実機の準備
  • テストの実行

実行環境

SI-Toolkitの動作環境に加え、以下のソフトウェアをインストールします。

  • Homebrew
  • Xcode
  • Node.js
  • Appium
  • Carthage
  • ios-deploy
  • ios-webkit-debug-proxy

実行環境の準備

下記コマンドでソフトウェアの入手およびインストールを行います。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
xcode-select --install
brew install node
npm install -g appium
brew install carthage
npm install -g ios-deploy
brew install ios-webkit-debug-proxy
  • ruby
    上記rubyコマンドはOS X 用パッケージマネージャーであるHomebrewのインストールです。brewコマンドによるパッケージのインストールが可能になります。

  • xcode-select
    xcode-selectコマンドを実行するとコマンドライン・デベロッパ・ツールのインストールを促すポップアップが表示されます。「Xcode を入手」ボタンを押下するとApp StoreのXcodeページが表示されるため、「インストール」ボタンを押下して、Xcodeのインストールを開始します。

  • npm
    Node.js用パッケージマネージャであるnpmはNode.jsに同梱されているため、個別のインストールは必要ありません。

プロパティファイル作成

テスト実行時に必要となるプロパティファイルを作成します。
3行目のdeviceName、platformVersionは、テストしたい端末に合わせて設定します。
4行目のudidは、実機を使用する場合のみ必要になります。「<UDID>」をテスト対象端末のUDIDに置き換えて実行します。UDIDの確認方法はこちらを参考にしてください。

cd project_root
mkdir -p src/main/resources
echo -e browserName=Safari\\ndeviceName=iPhone 6s Plus\\nplatformVersion=10.X > src/main/resources/capabilities.properties
echo udid=<UDID> >> src/main/resources/capabilities.properties

実機の設定

Web Inspectorの有効化

ios-webkit-debug-proxyで実機上のWebViewにアクセスするため、Web Inspectorを有効にします。

テスト対象端末の「設定」アプリ>「Safari」>「詳細」>「Webインスペクタ」スイッチをONにします。

上記準備ができたら、テスト対象端末をUSBでPCと接続し、ロックを解除した状態にします。

テストの実行

準備

テスト実行前に、テストの実行に必要となるソフトウェアを起動します。

Appiumの起動

osascript -e 'tell application "Terminal" to do script "appium"'

ios-webkit-debug-proxyの起動(実機でテストする場合のみ)

以下のコマンドを実行します。 「<UDID>」はプロパティファイル作成で指定したものと同じ値を設定します。

osascript -e 'tell application "Terminal" to do script "ios_webkit_debug_proxy -c <UDID>:27753 -d"'

テスト実行

上記ソフトウェア起動後、以下のコマンドを実行します。

cd project_root
mvn clean verify -Ddriver.type=ios

参考

プロパティファイルについて

プロパティファイル作成ではDesired Capabilitiesと呼ばれる、 Appiumの振る舞いを定義するキー・値のペアを、SIT-WTが使用するプロパティファイルの形式で設定しています。 Desired Capabilitiesについては、Appiumの公式サイトをご確認下さい。

http://appium.io/slate/en/master/?ruby#appium-server-capabilities

UDIDの確認方法

以下の手順で確認できます。

  1. 「Appleロゴ」>「このMacについて」をクリック
  2. 「システムレポート...」をクリック
  3. 「ハードウェア」>「USB」>「USB装置ツリー」>「iPhone」をクリックします。「シリアル番号」と表示されているものがUDIDです。
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.