本連載でテスト対象とするアプリをGitHubで公開しています。ごく単純なMaster-Detail形式のアプリで、顧客の氏名、メールアドレス、性別、年齢を登録することで、その顧客のマーケティング区分(F1層、M2層など)を付加して表示するものです。
Android/iOSそれぞれ、以下のようにセットアップしてください。
プロジェクトを下記リポジトリからcloneするか、ページ右にある「Download ZIP」ボタンでダウンロードして展開してください。
本アプリは、Androidの新ビルドシステム(Gradle plugin for Android)で構成されています。アプリのビルドおよび端末・エミュレーターへのインストールは、プロジェクトのルートで下記コマンドで実行できます。
$ ./gradlew installAppDebug
また、プロジェクトをAndroid Studioにインポートするには、Android Studioのメニューから[File]→[Import Project...]を開き、サンプルコードのディレクトリを選択して[OK]をクリックします。
GradleおよびAndroid Studioの導入については、以下の記事を参考にしてください。なお、Gradleのバージョンは1.12、Android SDK Build-toolsはr19.1、Android Studioは0.8.2で確認しています。
続いて、MonkeyTalkのエージェントをアプリにバンドルします。エージェントはGoogle Play Storeにリリースするアプリにはバンドルすべきではありませんので、MonkeyTalkによるテスト実行専用のプロダクトフレーバーを追加します(サンプルアプリでは一通りの設定は終わっています。ダウンロードしたMonkeyTalkエージェントファイルのコピーのみ実施してください)。
まず、appディレクトリにあるbuild.gradleに以下のように記述を追加します。
- apply plugin: 'android'
- apply plugin: 'android-aspectj'
- android {
- (snip)
- productFlavors {
- (snip)
- monkeytalk {
- applicationId "com.nowsprinting.hellotesting.monkeytalk"
- }
- }
- (snip)
- }
- dependencies {
- (snip)
- monkeytalkCompile fileTree(dir: 'libs-monkeytalk', include: ['*.jar'])
- }
2行目は、MonkeyTalkエージェントの動作に必要な「AspectJ」を利用するためのプラグインです。
9行目では、プロダクトフレーバー「monkeytalk」を宣言し、applicationId(アプリのPackageName)を設定します。
17行目では、フレーバー「monkeytalk」でのみエージェントのjarファイルをバンドルしています
続いて、プロジェクトのルートにあるbuild.gradleに以下の記述を追加します。これは2行目のプラグイン「android-aspectj」を利用するための設定です。
- buildscript {
- (snip)
- dependencies {
- (snip)
- classpath 'com.uphyca.gradle:gradle-android-aspectj-plugin:0.9.+'
- }
- }
次に、MonkeyTalkエージェントが必要とするパーミッションの設定を、以下のように「app/src/monkeytalk/AndroidManifest.xml」に記述します。このファイルには差分だけ記述することで、ビルド時に「app/src/main/AndroidManifest.xml」の内容とマージされたAndroidManifest.xmlが生成されます。
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android">
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.GET_TASKS" />
- </manifest>
最後に、ダウンロードしたMonkeyTalkのzipファイルの中にあるagents/android/monkeytalk-agent-2.0.5.jarを、 app/libs-monkeytalk/にコピーします。
エージェントをバンドルしたアプリのビルドおよび端末・エミュレーターへのインストールは、プロジェクトのルートで下記コマンドで実行できます。
$ ./gradlew installMonkeytalkDebug
プロジェクトを下記リポジトリからcloneするか、ページ右にある「Download ZIP」ボタンでダウンロードして展開してください。
ライブラリ管理に「CocoaPods」を使用していますので、下記コマンドで依存ライブラリをインストールしてから、Xcodeで「HelloTesting.xcworkspace」を開いてください。
$ pod install
CocoaPodsの導入については、以下の記事を参考にしてください。
続いて、MonkeyTalkのエージェントをアプリにバンドルします。エージェントはApp Storeにリリースするアプリにはバンドルすべきではありませんので、MonkeyTalkによるテスト実行専用のビルドターゲットを追加します(サンプルアプリでは一通りの設定は終わっています。MonkeyTalkエージェントファイルのコピーのみ実施してください)。
ビルドターゲットは、既存の「HelloTesting」を複製して作成します。Xcodeでプロジェクトを開き、ターゲット「HelloTesting」を右クリックして「Duplicate」を選択します。
複製したターゲットは名前を「HelloTestingWithMonkeyTalkAgent」に変えておきます。続いて、「Build Phases」タブを開き、以下の設定を行います。
以上で、エージェントをバンドルしたアプリを起動できるはずです。初めてiOSシミュレーターで実行するとき、「ネットワーク受信許可」を確認するダイアログが出る場合(お使いのOSによります)、「許可」をクリックしてください。デモアプリとMonkeyTalkが通信するための許可が必要です。
Copyright © ITmedia, Inc. All Rights Reserved.
Test & Tools 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー