自動執行 Android 測試程序

您可以使用數個指令行工具、Android Debug Bridge (adb) 及 USB 控制器,將測試 Android 應用程式的程序自動化。USB 控制器也可讓您在安全環境中測試。

開始之前

關於這項作業

自動化程序包括下列程序:

程序

  1. 將 AUT 新增至測試工作台

    您可以從行動式裝置或模擬器上傳應用程式,或在測試工作台中按一下新增應用程式至清單圖示 新增應用程式至清單,以檢測 AUT 並將它新增至測試工作台。如果要將程序自動化,請使用 AddAndroidApp.jar,您可以從 Android 歡迎使用頁面下載。 如需詳細資料,請參閱從指令行將 Android 應用程式新增至測試工作台

    執行 AddAndroidApp.jar 會產生三個新的 .apk 檔:

    • I-original apk name.apk - 可記錄的應用程式
    • R-original apk name.apk - 可播放的應用程式
    • T-original apk name.apk - 應用程式的測試引擎

    如需 .apk 檔及 Android 建置鏈的詳細資料,請參閱測試工作台如何測試 Android 應用程式

  2. 使用 adb,將最新版本的 AUT 安裝在 Android 裝置或模擬器上。必須安裝可播放的 .apk 檔以及測試引擎 .apk 檔,除非您在裝置或模擬器上啟用無聲自動模式。adb 公用程式通常安裝在 Android-SDK-install-location\sdk\platform-tools。需要 Android SDK 平台工具第 21 版或更新版本。
    1. 尋找可播放的 .apk 檔及測試引擎 .apk 檔。完成步驟 1 之後,這些檔案已下載至名稱為 localdir 的本端資料夾。
    2. 從指令行執行下列指令,將最新版本的 AUT 安裝在 Android 裝置或模擬器上:
      adb install -r localdir/R-AUT-name.apk
      adb install -r localdir/T-AUT-name.apk
    3. 如果要將 AUT 安裝在多個裝置或模擬器上,請使用 adb install 並指定 -s(序列)選項,例如:
      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
      如需詳細資料,請參閱將指令引導至特定模擬器或裝置
  3. 安裝行動式測試用戶端,並以被動模式啟動它。被動模式容許在測試工作台中用 Script 或批次檔來控制文字的執行。執行下列 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 應用程式,以安裝「行動式 Web 記錄器」。這將會起始安裝兩個必要的 apk,並滿足 Web 應用程式自動化測試播放的需求。

    如果自動化測試需要測試工作台停止再重新啟動,您可以在 USB 控制器中啟用工作台結束時不要退出設定,即使在測試工作台關閉之後,也保持 USB 控制器繼續執行。如需詳細資料,請參閱USB 控制器

    依預設,測試工作台 會選取最符合測試執行需求(Android 作業系統和 Android API) 的第一個連接裝置。如果要在一或多個特定裝置上執行測試,請定義「裝置 ID」選擇變數。如果要尋找「裝置 ID」,請在測試工作台中開啟「行動式裝置」編輯器,選取一個裝置,並在「詳細內容」中尋找 ID。

    您也可以使用變數,來選取特定的裝置。如需詳細資料,請參閱定義變數,對所選取的行動式裝置執行測試

    所有測試 Script 會鏈結至特定版本的 AUT。如果您上傳新版本的 AUT,應該一律在最新版本的 AUT 上執行測試。如需詳細資料,請參閱在測試中定義變數以執行最新版本的應用程式

    註: 如果您已設定當新增應用程式版本時自動重構測試的相關喜好設定,則不需要定義這類變數。
  5. 除了在指令行模式中執行測試,您也可以使用 IBM Rational Test WorkbenchIBM UrbanCode Deploy 外掛程式執行測試。如需詳細資料,請參閱 從 Urban Code Deploy 測試

意見