2014/12/30

Android:Calabash for Android 導入

はじめに

Calabash for Androidは, Ruby製のビヘイビア駆動開発(BDD:Behaviour Driven Development)ツール Cucumberを使ってAndroidアプリをテストできるライブラリ.
Rubyのパッケージ管理システムgemでインストールできる.

今回の確認環境は次の通り.

  • Mac OSX Mavericks 10.9.5
  • RVM version 1.26.7
  • Ruby 2.2.0p0

準備

Rubyの環境を整えるためにHomebrewをインストールする

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrewが正しくインストールされたかをチェック. エラーが出た場合はメッセージに従う

brew doctor

RVMをインストールする

\curl -sSL https://get.rvm.io | bash -s stable

PATHを設定するために.bashをリロード

source ~/.bash_profile

RVMのバージョンを確認

rvm version

Rubyの最新バージョンを確認

rvm list known

Ruvyの最新バージョンをインストールし, デフォルトに設定する.

rvm install ruby-2.2.0 --default

PATHを設定するために.bashをリロード

source ~/.bash_profile

Rubyのバージョンを確認

ruby -v

Rubyのインストールロケーションを確認

which ruby

Calabash for Androidのインストール

gem install calabash-android

AndroidSDKのパスをANDROID_HOME環境変数で定義

// .bash_profileに下記を追記
export ANDROID_HOME=[AndroidSDKへのパス]

PATHを設定するために.bashをリロード

source ~/.bash_profile

ANDROID_HOMEが正しく設定できているか確認

echo $ANDROID_HOME

テスト対象のAndroidプロジェクトに移動.
AndroidManifest.xmlがあるディレクトリに移動し下記コマンドを実行.

calabash-android gen

genによりcucumberのスケルトンが作成される(作成される各種ファイルについては後述)

calabashテスト実行時にインストールされるテストアプリに付与する署名を指定する.
この署名はテスト対象のアプリと同じ署名とする. 署名の指定は次のコマンドで行う.

# 実行するとカレントディレクトリに.calabash_settingファイルが生成される
calabash-android setup

テストを実行するには同階層で下記コマンドを実行する.

calabash-android run [テスト対象のapk]

実行するとテストが実行される.
cucumberが途中で上手く動作しない場合は-vオプションを付与することで詳細なログが出力される.

NOTE
calabash-android gen, calabash-android setup, calabash-android runはAndroidManifest.xmlと同階層で実行する.

参考