Android テスト・プロセスの自動化

Android アプリケーションのテストのプロセスは、Android Debug Bridge (adb) や USB コントローラーなどのいくつかのコマンド行ツールによって自動化できます。USB コントローラーの場合は、 セキュアな環境でテストすることもできます。

始める前に

このタスクについて

自動化処理には以下の手順が含まれます。

手順

  1. 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 アプリケーションのテスト方法を参照してください。

  2. Android デバイスまたはエミュレーター上に AUT の最新リリースをインストールするには、adb を使用します。デバイスまたはエミュレーターでサイレント・モードを有効にする場合以外は、 再生対応 .apk ファイルとテスト・エンジン .apk ファイルの両方をインストールする必要があります。adb ユーティリティーは通常、 Android-SDK-install-location¥sdk¥platform-tools にインストールされます。リリース 21 以降の Android SDK Platform-tools が必要です。
    1. 再生対応 .apk ファイルとテスト・エンジン .apk ファイルを探します。これらのファイルは、 ステップ 1 の結果として localdir というローカル・フォルダーにダウンロードされています。
    2. コマンド行から以下のコマンドを実行し、Android デバイスまたはエミュレーターに AUT の最新リリースをインストールします。
      adb install -r localdir/R-AUT-name.apk
      adb install -r localdir/T-AUT-name.apk
    3. 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 を参照してください。
  3. モバイル・テスト・クライアントをインストールし、パッシブ・モードで始動します。パッシブ・モードでは、テスト実行をテスト・ワークベンチでスクリプトやバッチ・ファイルにより制御できます。以下の 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”
  4. テストをコマンド行モードで実行します。テストの実行またはコマンド行モードでのスケジュールの詳細については、『コマンド行からのテストまたはスケジュールの実行』を参照してください。

    モバイル Web アプリケーションのテストを自動化する場合は、 モバイル Web レコーダーをモバイル・テスト・クライアントにインストールする必要があります。モバイル・テスト・クライアントが USB コントローラーを使用してサイレント・モードで実行するようにセットアップされている場合は、 テスト実行の開始時にモバイル Web レコーダーが自動的にインストールされます。ユーザー・アクションは不要です。しかし、 サイレント・インストールがセットアップされていない場合は、モバイル・テスト・クライアント「Web アプリケーションの管理」を 1 回タップすることで、 モバイル Web レコーダーをインストールする必要があります。これにより、2 つの必須の apk のインストールが開始され、Web アプリケーションの自動テスト再生の要件が満たされます。

    自動化したテストでテスト・ワークベンチを停止してから再開する必要がある場合は、USB コントローラーで「ワークベンチの終了時に終了しない」設定を有効にして、 テスト・ワークベンチを閉じた後でも USB コントローラーの実行を継続することができます。詳細については、USB コントローラーを参照してください。

    デフォルトでは、テスト・ワークベンチ は、テスト実行要件 (Android OS および Android API) に最適な、最初に接続されたデバイスを選択します。1 つ以上の特定のデバイスでテストを実行するには、 デバイス ID 選択変数を定義します。デバイス ID を見つけるには、テスト・ワークベンチでモバイル・デバイス・エディターを開き、デバイスを選択して、 「詳細プロパティー」で ID を検索します。

    特定のデバイスの選択には、変数を使用することもできます。詳細については、選択したモバイル・デバイスでテストを実行するための変数を定義するを参照してください。

    すべてのテスト・スクリプトは、AUT の特定のバージョンにリンクしています。新規バージョンの AUT をアップロードする場合は、AUT の最新バージョンでテストを実行してください。詳細については、テスト内で変数を定義して最新バージョンのアプリケーションを実行するを参照してください。

    注: 新しいアプリケーション・バージョンが追加されたときにテストの自動リファクタリングに関連した設定を行った場合、 それらの変数を定義する必要はありません。
  5. コマンド行モードでテストを実行する代わりに、IBM Rational Test WorkbenchIBM UrbanCode Deploy プラグインを使用してテストを実行することができます。詳しくは、 Urban Code Deploy からのテストを参照してください。

フィードバック