Android アプリケーションのテストのプロセスは、Android Debug Bridge
(adb) や USB コントローラーなどのいくつかのコマンド行ツールによって自動化できます。USB コントローラーの場合は、
セキュアな環境でテストすることもできます。
始める前に
- IBM® Rational® Test Workbench Eclipse Client をインストールし、Extension for Mobile が選択されていることを確認します。詳しくは、製品ソフトウェアのインストールを参照してください。
- adb (Android SDK ツールの一部) をダウンロードし、テスト・ワークベンチを実行しているコンピューターにインストールします。現在のダウンロード・ページは『Android
Studio』ですが、このページの場所は今後変更される可能性があります。Android
Studio をフル・インストールする必要はありません。「Other Download Options」の下にある「SDK Tools
Only」のセクションに移動してインストーラーを入手してください。adb devices コマンドを実行して、ご使用のデバイスが adb 用に正しくセットアップされていることを確認します。
- Android エミュレーターでテストするには、AVD (Android 仮想デバイス) 構成を 1 つ以上セットアップします。詳細については、Using the Emulator を参照してください。この記事には、ハードウェア・アクセラレーションによってエミュレーターのパフォーマンスを向上させる方法も記述されています。
- Android デバイスでテストするには、Android デバイスでに移動し、USB デバッグを有効にします。続いて、USB ケーブルを使用して、テスト・ワークベンチ が動作しているコンピューターに Android デバイスを接続します。必要に応じて、デバイスに固有の USB ドライバーをhttp://developer.android.com/tools/extras/oem-usb.htmlから入手するか、
デバイス・ベンダーの Web サイトにアクセスして入手します。
- Android デバイスでテストする代わりに、USB コントローラーを使用することができます。
USB コントローラーは、API レベルに関係なく Android デバイスおよびエミュレーターでサイレント・インストール・モードを使用できるほか、WiFi アクセスなしのセキュアな環境で作業できます。USB コントローラーを使用すると、テスト・ワークベンチがリモートに存在する環境でも作業できます。詳しくは、USB コントローラーを使用した Android クライアントのインストールと構成を参照してください。
- Mac OS X では、コマンド行からテストを実行できません。
- テスト対象アプリケーション (AUT) のテスト・スクリプトを記録します。
テストの記録のプロセスは自動化できません。詳しくは、Android モバイル・テスト・クライアントからのテストの記録を参照してください。
このタスクについて
自動化処理には以下の手順が含まれます。
- テスト対象アプリケーション (AUT) をテスト・ワークベンチに追加する
- 最新のリリースの AUT を Android 装置またはエミュレーターにインストールする
- モバイル・テスト・クライアントを Android デバイスにインストールし、パッシブモードで開始する
- コマンド行から、または IBM UrbanCode Deploy プラグインを使用してテストを実行する
手順
- AUT をテスト・ワークベンチに追加します。
AUT をインスツルメントしてテスト・ワークベンチに追加するには、
モバイル・デバイスまたはエミュレーターからアプリケーションをアップロードするか、テスト・ワークベンチで「リストへのアプリケーションの追加」アイコン
をクリックします。この処理を自動化するには、AddAndroidPackage.jar を使用します (Android ウェルカム・ページからダウンロードできます)。詳しくは、コマンド行からのテスト・ワークベンチへの Android アプリケーションの追加を参照してください。
AddAndroidApp.jar を実行すると、
以下の 3 つの新しい .apk ファイルが作成されます。
- I-original apk name.apk -
記録対応アプリケーション
- R-original apk name.apk -
再生対応アプリケーション
- T-original apk name.apk -
アプリケーションのテスト・エンジン
.apk ファイルおよび Android ビルド・チェーンについて詳しくは、テスト・ワークベンチによる Android アプリケーションのテスト方法を参照してください。
- Android デバイスまたはエミュレーター上に AUT の最新リリースをインストールするには、adb を使用します。デバイスまたはエミュレーターでサイレント・モードを有効にする場合以外は、
再生対応 .apk ファイルとテスト・エンジン .apk ファイルの両方をインストールする必要があります。adb ユーティリティーは通常、
Android-SDK-install-location¥sdk¥platform-tools にインストールされます。リリース 21 以降の Android SDK Platform-tools が必要です。
- 再生対応 .apk ファイルとテスト・エンジン .apk ファイルを探します。これらのファイルは、
ステップ 1 の結果として localdir というローカル・フォルダーにダウンロードされています。
- コマンド行から以下のコマンドを実行し、Android デバイスまたはエミュレーターに AUT の最新リリースをインストールします。
adb install -r localdir/R-AUT-name.apk
adb install -r localdir/T-AUT-name.apk
- AUT を複数のデバイスまたはエミュレーターにインストールするには、-s
(シリアル番号) オプションを指定して adb install を使用します。例を示します。
adb install -s emulator-5556 -r localdir/T-AUT-name.apk
adb install -s emulator-5556 -r localdir/R-AUT-name.apk
adb install -s emulator-5558 -r localdir/T-AUT-name.apk
adb install -s emulator-5558 -r localdir/R-AUT-name.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”
- テストをコマンド行モードで実行します。テストの実行またはコマンド行モードでのスケジュールの詳細については、『コマンド行からのテストまたはスケジュールの実行』を参照してください。
モバイル Web アプリケーションのテストを自動化する場合は、
モバイル Web レコーダーをモバイル・テスト・クライアントにインストールする必要があります。モバイル・テスト・クライアントが USB コントローラーを使用してサイレント・モードで実行するようにセットアップされている場合は、
テスト実行の開始時にモバイル Web レコーダーが自動的にインストールされます。ユーザー・アクションは不要です。しかし、
サイレント・インストールがセットアップされていない場合は、モバイル・テスト・クライアントで「Web アプリケーションの管理」を 1 回タップすることで、
モバイル Web レコーダーをインストールする必要があります。これにより、2 つの必須の apk のインストールが開始され、Web アプリケーションの自動テスト再生の要件が満たされます。
自動化したテストでテスト・ワークベンチを停止してから再開する必要がある場合は、USB コントローラーで「ワークベンチの終了時に終了しない」設定を有効にして、
テスト・ワークベンチを閉じた後でも USB コントローラーの実行を継続することができます。詳細については、USB コントローラーを参照してください。
デフォルトでは、テスト・ワークベンチ は、テスト実行要件
(Android OS および Android API) に最適な、最初に接続されたデバイスを選択します。1 つ以上の特定のデバイスでテストを実行するには、
デバイス ID 選択変数を定義します。デバイス ID を見つけるには、テスト・ワークベンチでモバイル・デバイス・エディターを開き、デバイスを選択して、
「詳細プロパティー」で ID を検索します。
特定のデバイスの選択には、変数を使用することもできます。詳細については、選択したモバイル・デバイスでテストを実行するための変数を定義するを参照してください。
すべてのテスト・スクリプトは、AUT の特定のバージョンにリンクしています。新規バージョンの AUT をアップロードする場合は、AUT の最新バージョンでテストを実行してください。詳細については、テスト内で変数を定義して最新バージョンのアプリケーションを実行するを参照してください。
注: 新しいアプリケーション・バージョンが追加されたときにテストの自動リファクタリングに関連した設定を行った場合、
それらの変数を定義する必要はありません。
- コマンド行モードでテストを実行する代わりに、IBM Rational Test Workbench の IBM UrbanCode Deploy プラグインを使用してテストを実行することができます。詳しくは、
Urban Code Deploy からのテストを参照してください。