RSpecをAppiumで書く

環境

  • MacOSX 10.11
  • nodebrew 5.0.0
  • npm 3.3.6
  • Node 5.0.0
  • Appium 1.4.13

更新日時: 2015/11/05


事前準備: nodebrewによるnpmのインストール

hrt0kmt.hatenablog.com


Appiumのインストール

% npm install -g appium
// sudoを用いる場合は sudo npm install -g appium --unsafe-perm ただし、あまりsudoでインストールしない方が良い。

// Appium Client(WebDriver)も並行してインストール
% npm install wd [--unsafe-perm]
// sudo を用いる場合は sudo npm install wd --unsafe-perm ただし、あまりsudoでインストールしない方が良い。

-g オプションはグローバルインストールである。なので-g オプションを加えるとどこのディレクトリにいてもコマンドが実行できるようになる。もし-gオプションをつけなかった場合、ローカルインストールとなり node_moduleディレクトリがカレントディレクトリの配下へ作成される。 しかしnodebrewを用いた場合は、.nodebrew/node/v5.0.0/lib/node_modules/npm/node_modules/配下にインストールされる。


sudoによりエラーを被った場合、Appium packageをアンインストールし、--unsafe-permをオプションで付与しつつ再インストールする必要がある。

% error: Appium will not work if used or installed with sudo. Please rerun/install as a non-root user. If you had to install Appium using `sudo npm install -g appium`, the solution is to reinstall Node using a method (Homebrew, for example) that doesn't require sudo to install global npm packages.

hrt0kmt.hatenablog.com


これはcacheの問題なので、npmのcacheを消し、再インストールする。

% npm cache clean
% sudo chown -R $(whoami) $HOME/.npm
% npm install -g appium


ideviceinstallerのインストール

% brew install ideviceinstaller


Appium GUIのインストール

Appium GUI公式サイトよりインストールする。


インストールができているか確認

% appium-doctor --ios
Running iOS Checks
✔ Xcode is installed at /Applications/Xcode.app/Contents/Developer
✔ Xcode Command Line Tools are installed.
✔ DevToolsSecurity is enabled.
✔ The Authorization DB is set up properly.
✔ Node binary found using which command at /Users/hrt0kmt/.nodebrew/current/bin/node
✔ iOS Checks were successful.

✔ All Checks were successful


AppiumがiOS simulatorを使用することを許可する
% sudo authorize_ios


Appiumを起動

シミュレータを初期化せずappium &からAppiumをスタートさせる。

appium --no-reset &
[1] 41801
 ~
info: Welcome to Appium v1.4.13 (REV c75d8adcb66a75818a542fe1891a34260c21f76a)


Appiumの停止

% ps ax | grep appium
298:41801 s000  SN     0:03.75 node /Users/okamoto/.nodebrew/current/bin/appium

% kill -9 41801
[1]  + killed     appium

// もしくは killall -9 node


Appium GUI Inspectorの起動

事前準備

  • ネットワーク > 詳細 > プロキシ > プロキシ設定を使用しないホストとドメイン:0.0.0.0 を追加
  • りんごマーク > Basic > App Path へアプリのパスを入力
  • りんごマーク > Basic > Force Device を設定


Androidの場合

Android SDKのインストール

% brew info android
android-sdk: stable 24.4.1
Android API libraries and developer tools
https://developer.android.com/index.html
Conflicts with: android-platform-tools
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/android-sdk.rb
==> Caveats
Now run the 'android' tool to install the actual SDK stuff.

The Android-SDK is available at /usr/local/opt/android-sdk

You will have to install the platform-tools and docs EVERY time this formula
updates. If you want to try and fix this then see the comment in this formula.

You may need to add the following to your .bashrc:
  export ANDROID_HOME=/usr/local/opt/android-sdk
% brew install android
==> Downloading https://dl.google.com/android/android-sdk_r24.4.1-macosx.zip
######################################################################## 100.0%
==> Downloading https://android.googlesource.com/platform/sdk/+/7859e2e738542baf96c15e6c8b50bbdb4
######################################################################## 100.0%
Warning: Could not fix /tmp/android-build-build-temp-74102/install-darwin-x86_64/lib/libz.1.dylib in /usr/local/Cellar/android-sdk/24.4.1/tools/qemu/darwin-x86_64/qemu-system-aarch64
Warning: Could not fix /tmp/android-build-build-temp-74102/install-darwin-x86_64/lib/libz.1.dylib in /usr/local/Cellar/android-sdk/24.4.1/tools/qemu/darwin-x86_64/qemu-system-mips64el
Warning: Could not fix /tmp/android-build-build-temp-74102/install-darwin-x86_64/lib/libz.1.dylib in /usr/local/Cellar/android-sdk/24.4.1/tools/qemu/darwin-x86_64/qemu-system-x86_64
==> Caveats
Now run the 'android' tool to install the actual SDK stuff.

The Android-SDK is available at /usr/local/opt/android-sdk

You will have to install the platform-tools and docs EVERY time this formula
updates. If you want to try and fix this then see the comment in this formula.

You may need to add the following to your .bashrc:
  export ANDROID_HOME=/usr/local/opt/android-sdk

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/android-sdk/24.4.1: 1476 files, 142M, built in 51 seconds
% android


エラー対処

hrt0kmt.hatenablog.com

hrt0kmt.hatenablog.com

hrt0kmt.hatenablog.com


参考サイト

http://qiita.com/tabbyz/items/36629fe2a3c82e3e4933

http://iti.hatenablog.jp/entry/2015/04/08/091812