連載
» 2012年05月23日 00時00分 公開

Androidアプリ開発テスト入門(6):JenkinsでCI(継続的インテグレーション)すればAndroidアプリ開発はもう怖くない (2/2)

[末広尚義,日本Androidの会テスト部]
前のページへ 1|2       

Androidエミュレータの設定

 次に起動時にAndroidエミュレータが起動するよう設定します。OSのバージョン、スクリーンの粒度、スクリーンのサイズ、言語、SDカードのサイズの順に設定します。

 サーバなどディスプレイのない環境では、必ず[Show emulator window]のチェックボックスを外してください(ディスプレイの応答待ちでエミュレータが起動しません)。

図4 エミュレータ設定 図4 エミュレータ設定

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の指定を行うビルドが動作しないようになっています)。

図5 アプリのビルドとテストのビルド 図5 アプリのビルドとテストのビルド

 以下のようなシェルを使うと、ビルドと実行ができます。

cd testterTest
/var/lib/Jenkins/tools/ant-1.8.3/bin/ant debug install test

複数のバージョンのOSでの同時実行

 複数バージョンの同時実行の設定を行います。1バージョンと複数バージョンの設定の違いは3個所です。

 まず、プロジェクトの作成で[マルチ構成のプロジェクトのビルド]を選びます。バージョン管理連帯設定は1バージョンのときと同じです。

図6 マルチOSプロジェクトの作成 図6 マルチOSプロジェクトの作成

 次に、実行するバージョンの設定と画面のサイズの設定を行います。画面サイズはAndroid 3.0系のタブレットと、それ以外では使える画面サイズの定義が違うのでフィルタも同時に設定します。

図7 マトリクスの設定 図7 マトリクスの設定

 軸の追加から[ユーザ定義]を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」を設定します。

図8 マルチOS用のエミュレータ設定 図8 マルチOS用のエミュレータ設定

 ビルドの設定も1バージョンのときと同じです。

Android実機環境での実行

 今回サーバ上には実機が接続されていないため、詳細な解説はしませんが、実機上でも実行できます。

 adbコマンドを使う場合はオプションに「-s {シリアルナンバー}」を付けます。

 Antでビルドするものは以下のように「adb.device.arg」でadbの-sオプションを指定することで実機での動作が可能です。

adb.device.arg=-s {シリアルナンバー}

JenkinsがあればAndroidアプリ開発は、もう怖くない

 今回は、AndroidをCIツールであるJenkinsを用いてテストする方法について解説してきました。Jenkinsを利用することによって、テストの実行を完全に自動で行えます。OSのバージョンアップやアプリの修正時にテストを自動化できるので、バージョンアップも怖くなくなります。

 インストールも簡単で無償で利用できるので、ぜひ活用してみてください。

 本稿のプロジェクトでは、こちらで実際に動作しているものを公開しています。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。