JenkinsでCI(継続的インテグレーション)すればAndroidアプリ開発はもう怖くない:Androidアプリ開発テスト入門(6)(2/2 ページ)
日本Androidの会テスト部が、いままで培ってきたAndroidアプリ開発におけるテストのノウハウを、実際のテストコード例とともに紹介していきます
Androidエミュレータの設定
次に起動時にAndroidエミュレータが起動するよう設定します。OSのバージョン、スクリーンの粒度、スクリーンのサイズ、言語、SDカードのサイズの順に設定します。
サーバなどディスプレイのない環境では、必ず[Show emulator window]のチェックボックスを外してください(ディスプレイの応答待ちでエミュレータが起動しません)。
Antの設定
プロジェクトをビルドするためのAntの設定をします。Antの生成はandroidコマンドで作成できます。通常のプロジェクトは以下のようになります。-pオプションで指定するのはプロジェクトパス、-nオプションで指定するのはプロジェクト名です。
android update project -p ./ -n testter
テストプロジェクトは以下のようになります。-mオプションで指定するのはテスト対象のプロジェクトパス、-pオプションで指定するのはプロジェクトパスです。
android update test-project -m $WORKSPACE/testter -p ./
ビルド・テストを実行するようAntビルダーの設定を行います。アプリのビルドとテストのビルドを設定すると以下のようになります(*現在ADTの出力するテストプロジェクト向けのAntがbasedirの指定を行うビルドが動作しないようになっています)。
以下のようなシェルを使うと、ビルドと実行ができます。
cd testterTest /var/lib/Jenkins/tools/ant-1.8.3/bin/ant debug install test
複数のバージョンのOSでの同時実行
複数バージョンの同時実行の設定を行います。1バージョンと複数バージョンの設定の違いは3個所です。
まず、プロジェクトの作成で[マルチ構成のプロジェクトのビルド]を選びます。バージョン管理連帯設定は1バージョンのときと同じです。
次に、実行するバージョンの設定と画面のサイズの設定を行います。画面サイズはAndroid 3.0系のタブレットと、それ以外では使える画面サイズの定義が違うのでフィルタも同時に設定します。
軸の追加から[ユーザ定義]を2つ追加し、以下のように「OS」「display_size」を定義します。
- OS:2.0 2.1 2.2 2.3 3.0 3.1 3.2 4.0 4.0.3
- display_size:240x400 WXGA
[組み合わせフィルター]を設定し、[Run each configuration sequentially]を選択します。組み合わせフィルタは以下のようにします。
(!((OS<"3.0"||OS>="4.0")&&(display_size=="WXGA")))&&(!((OS=="3.0"||OS=="3.1"||OS=="3.2")&&(display_size=="240x400")))
これで各バージョンに対応した画面を設定されるようになります。
最後にエミュレータの設定です。バージョン番号とディスプレイサイズが変わるように「$OS」「$display_size」を設定します。
ビルドの設定も1バージョンのときと同じです。
Android実機環境での実行
今回サーバ上には実機が接続されていないため、詳細な解説はしませんが、実機上でも実行できます。
adbコマンドを使う場合はオプションに「-s {シリアルナンバー}」を付けます。
Antでビルドするものは以下のように「adb.device.arg」でadbの-sオプションを指定することで実機での動作が可能です。
adb.device.arg=-s {シリアルナンバー}
JenkinsがあればAndroidアプリ開発は、もう怖くない
今回は、AndroidをCIツールであるJenkinsを用いてテストする方法について解説してきました。Jenkinsを利用することによって、テストの実行を完全に自動で行えます。OSのバージョンアップやアプリの修正時にテストを自動化できるので、バージョンアップも怖くなくなります。
インストールも簡単で無償で利用できるので、ぜひ活用してみてください。
本稿のプロジェクトでは、こちらで実際に動作しているものを公開しています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- アジャイル管理ツール9選+Pivotal Tracker入門
ユカイ、ツーカイ、カイハツ環境!(27) - Ant使いでもMavenのライブラリ管理ができるIvyとは
ユカイ、ツーカイ、カイハツ環境!(22) - SubversionとTracでファイル管理の“迷宮”から脱出
ユカイ、ツーカイ、カイハツ環境!(2) - 今日から始める! Androidケータイアプリ作成の基礎
いまこそ知っておきたい「Androidアプリ」とは - 売れるスマホアプリを目指せ! テスト達人への道
安藤幸央のランダウン(56) - 次世代テストフレームワークでテストを変える
- イチから始める!Androidセキュリティ
- Androidセキュリティの今、これから