Android アプリケーションのテストのプロセスは、
Android Debug Bridge (adb) ユーティリティーと、curl などのコマンド行ツールによって、コマンド行インターフェースを使用して自動化できます。これにより、コマンド行ステートメントをスクリプトやバッチ・ファイルに結合できます。
始める前に
- IBM® Rational® Test Workbench Mobile Test Edition をインストールし、Extension for Mobile が選択されていることを確認します。詳しくは、製品ソフトウェアのインストールを参照してください。
- テスト・ワークベンチがインストールされているのと同じコンピューターに、Android SDK をダウンロードしてインストールします。少なくとも、Android SDK Tools、Android SDK Platform-tools、
Android SDK Build-tools、Android Debug Bridge (adb)
ユーティリティーがインストールされていない場合は、これらをインストールするようにしてください。Android SDK の現在のダウンロード・ページは『Get the Android SDK』ですが、このページの場所は今後変更される可能性があります。
- Windows コンピューターで作業している場合は、
curl を http://curl.haxx.se/ からダウンロードします。curl は、
URL 構文でデータを転送するためのコマンド行ツールであり、ここではインスツルメンテーションのプロセスを自動化するのに必要です。curl は、ほとんどの Linux 配布版にデフォルトで含まれています。
- Android エミュレーターでテストするには、AVD (Android 仮想デバイス) 構成を 1 つ以上セットアップします。詳細については、Using the Emulator を参照してください。この記事には、ハードウェア・アクセラレーションによってエミュレーターのパフォーマンスを向上させる方法も記述されています。
- Android デバイスでテストするには、「設定」に移動して、USB デバッグを有効にします。
続いて、USB ケーブルを使用して、テスト・ワークベンチ が動作しているコンピューターに Android デバイスを接続します。モバイル・デバイスによっては特定の USB ドライバーが要求されるため、デバイス・ベンダーの Web サイトに移動してデバイス用の USB ドライバーをダウンロードしてインストールすることが必要な場合があります。詳細については、adb を使用して Android 用のモバイル・テスト・クライアントをインストールするを参照してください。
- テスト対象アプリケーション (AUT) のテスト・スクリプトを記録します。
テストの記録のプロセスは自動化できません。詳しくは、Android モバイル・テスト・クライアントからのテストの記録を参照してください。
このタスクについて
自動化処理には以下のステップが含まれます。
- アプリケーションの最新リリースのインスツルメント
- Android デバイスまたはエミュレーターのアプリケーションのインストール
- モバイル・テスト・クライアントのインストールおよびパッシブ・モードでの始動
- コマンド行インターフェースでのテストの実行
手順
- AUT の最新リリースをインスツルメントします。
Android アプリケーションは手動でインスツルメントできます。
アプリケーションをモバイル・デバイスまたはエミュレーターからテスト・ワークベンチにアップロードするか、テスト・ワークベンチにある「リストへのアプリケーションの追加」ボタンをクリックします。このプロセスを自動化するには、curl などのツールを使用します。
- Rational Test Workbench Eclipse
Client を開始します。
- テスト・ワークベンチで、「ワークベンチ URL の表示」アイコン
をクリックし、ワークベンチの URL をメモします。次のステップでは、ワークベンチ URL の IP アドレスとポートが必要になります。
- 以下のコマンド行を実行して AUT をインスツルメントします。
curl -F "appfile=@MyApp.apk"
-F "appdescription=My App Description"
http://Workbench-URL:port/moeb/service/com.ibm.rational.test.lt.core.moeb.services.buildchain.IBuildChainService/?action=upload
例:
curl -F "appfile=@MyExpenses.apk"
-F "appdescription=Expense report app"
http://192.0.2.24:7878/moeb/service/com.ibm.rational.test.lt.core.moeb.services.buildchain.IBuildChainService/?action=upload
このステップの結果、以下の 3 つの新規 .apk ファイルが作成されます。
- R-original apk name.apk -
再生対応アプリケーション
- T-original apk name.apk -
アプリケーションのテスト・エンジン
- I-original apk name.apk -
記録対応アプリケーション
.apk ファイル、インスツルメンテーション、
Android ビルド処理の詳細については、Android テストの概要を参照してください。
- Android デバイスまたはエミュレーター上に AUT の最新リリースをインストールするには、adb を使用します。再生対応 .apk ファイルとテスト・エンジン .apk ファイルの両方をインストールする必要があります。adb ユーティリティーは通常、
Android-SDK-install-location¥sdk¥platform-tools にインストールされます。
- 再生対応 .apk ファイルとテスト・エンジン .apk ファイルを、Eclipse ワークスペースの以下の場所に配置します。
your-workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds/AUT-uid/R-original-apk-name.apk
ここで、AUT-uid は、
そのビルド・フォルダーの最後に変更されたサブフォルダーのフォルダー名です。
通常、AUT-uid は long 16 進数です。
例:
C:¥workspaces¥rtw86¥.metadata¥.plugins¥com.ibm.rational.test.lt.models.behavior.moeb¥builds¥b01714617a0a34788898e05c9696e0bf¥R-expenses.apk
同じ場所にはテスト・エンジン・アプリケーションがあります。接頭部の R を T に置き換えたものです。
- 次のコマンドをコマンド行から実行します。
adb install -r Workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds//AUT-uid/R-AUT-name.apk
adb install -r Workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds//AUT-uid/T-AUT-name.apk
AUT を複数のデバイスまたはエミュレーターにインストールするには、-s (シリアル番号) オプションなどを使用します。
adb install -s emulator-5556 -r
C:¥workspaces¥rtw86¥.metadata¥.plugins¥com.ibm.rational.test.lt.models.behavior.moeb¥builds¥b01714617a0a34788898e05c9696e0bf¥R-expenses.apk
adb install -s emulator-5558 -r
C:¥workspaces¥rtw86¥.metadata¥.plugins¥com.ibm.rational.test.lt.models.behavior.moeb¥builds¥b01714617a0a34788898e05c9696e0bf¥T-expenses.apk
詳細については、Directing commands to a specific emulator or device を参照してください。
- モバイル・テスト・クライアントをインストールし、パッシブ・モードで始動します。パッシブ・モードでは、テスト実行をテスト・ワークベンチでスクリプトやバッチ・ファイルにより制御できます。
以下の adb コマンドを実行して、モバイル・テスト・クライアントの既存のバージョンをアンインストールし、
クライアントの新規バージョンを再インストールしてから、クライアントをパッシブ・モードに設定します。
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "Eclipse client path/com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start
-n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "Workbench-Url" --ez passive_mode “true”
例:
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "C:¥Program Files¥IBM¥IBMIMShared¥com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start
-n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "9.44.55.666:7878" --ez passive_mode “true”
- テストをコマンド行モードで実行します。
これでテストを実行できるようになりました。テストの実行またはコマンド行モードでのスケジュールの詳細については、『コマンド行からのテストまたはスケジュールの実行』を参照してください。
注: Mac OS X では、コマンド行からテストを実行できません。
デフォルトでは、テスト・ワークベンチ は、テスト実行要件
(Android OS および Android API) に最適な、最初に接続されたデバイスを選択します。テストを 1 つ以上の特定のデバイスで実行するには、adb -s device ID オプションを使用します。
デバイス ID を見つけるには、テスト・ワークベンチでモバイル・デバイス・エディターを開き、デバイスを選択して、
「詳細プロパティー」で ID を検索します。
特定のデバイスの選択には、変数を使用することもできます。詳細については、選択したモバイル・デバイスでテストを実行するための変数を定義するを参照してください。
すべてのテスト・スクリプトは、AUT の特定のバージョンにリンクしています。新規バージョンの AUT をアップロードする場合は、AUT の最新バージョンでテストを実行してください。詳細については、テスト内で変数を定義して最新バージョンのアプリケーションを実行するを参照してください。