つれづれなるままに。

webテストの自動化について備忘録のつもりで書いています

Selendroid 0.5 windows環境で動かしてみる

ISO/Androidアプリの自動テストフレームワーク で最近の注目は appiumですが
Android側かつ API15以下では このSelendroid が使われています。

appiumはISOもテスト対象に含んでいるため基本OSXでの環境になります。
実はwindows環境でも動くのですが、現在サイトが日本語か対応しているようで
ところどころ リンクがまだ切れている「工事中」状態です。

なのでとりあえず Selendroid部分だけの環境を作って動かしています。

といっても難しいことは無く(動くようになったからいえることですが)公式に載っている通りでOKです。

http://selendroid.io/setup.html

ANDROIDSDKのインストール
テスト対象アプリの用意
実機を接続
もしくはエミュレータの作成(テスト実行時には自動的に起動されるのでAVDを作成するだけです)
テストフレームワークのダウンロード(現時点では  Ver0.5)
サーバーの起動
java -jar selendroid-standalone-0.5.0.jar -app selendroid-test-app-0.5.0.apk

コマンドを実行するとテスト対象アプリのマニュフェストファイルの書き換えがおこなわれ
アプリケーションへの外側からのアクセスできるように書き換えを行います。
(付与している権限はこれ)

このあと、実行できる端末(含むAVD)情報を収集しサーバーが起動します。

この状態から テストスクリプトを実行します。
テストスクリプトは Java もしくは Ruby で 記述は Seleniumに準じています。

テストスクリプトを実行すると、実行対象となる端末にマニュフェストを置換したアプリがインストールされ、テストが実行されます。

注意が必要なのは AVDを使用した場合 起動に時間がかかってタイムアウトする可能性が高いことです。intel版のエミュレータや、高速なマシンを使っていない限りは コマンドオプションでタイムアウトの時間を増やした方が良いでしょう。

テストスクリプトにrubyを使用する場合、Rspekももちろん使えます。

と、ここまでが動作させるまでの環境作り部分になります。
図もサンプルも無いですが、ここまでであれば特に問題なくできると思います。

むしろ、テストスクリプトの作成の方が大変・・・・それはまた別の機会に