指令行介面可以與 Android Debug Bridge (adb) 公用程式及指令行工具(例如 curl)搭配使用,來自動執行 Android 應用程式測試程序。然後您可以將指令行陳述式合併到 Script 和批次檔中。
開始之前
- 安裝 IBM® Rational® Test Workbench Mobile Test Edition,並確定已選取 Extension for Mobile。如需詳細資料,請參閱安裝產品軟體。
- 下載 Android SDK,並且安裝到安裝測試工作台的電腦上。如果 Android SDK 工具、Android SDK 平台工具、Android SDK 建置工具,以及 Android Debug Bridge (adb) 尚未安裝,最起碼務必要安裝它們。Android SDK 的現行下載頁面位於取得 Android SDK,但是位置未來可能變更。
- 如果您使用 Windows 電腦,請從 http://curl.haxx.se/ 下載 curl。curl 是使用 URL 語法來傳送資料的指令行工具,這裡需要它,以便自動執行檢測程序。依預設,在大部分 Linux 發行套件上都包含 curl。
- 如果要在 Android 模擬器上測試,請設定一或多項 AVD(Android 虛擬裝置)配置。如需詳細資料,請參閱使用模擬器。本文也會說明透過硬體加速來改良模擬器效能的作法。
- 如果要在 Android 裝置上測試,請移至「設定」,並啟用 USB 除錯。然後使用 USB 纜線,將 Android 裝置連接到執行測試工作台的電腦。由於某些行動式裝置需要特定的 USB 驅動程式,可能得造訪裝置供應商的網站,以下載及安裝該裝置的 USB 驅動程式。如需詳細資料,請參閱使用 adb 來安裝 Android 行動式測試用戶端。
- 記錄受測試應用程式 (AUT) 的測試 Script。測試記錄程序無法自動化。如需詳細資料,請參閱從 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
這個步驟會產生三個新的 .apk 檔:
- R-original apk name.apk -
可播放的應用程式
- T-original apk name.apk -
應用程式的測試引擎
- I-original apk name.apk -
可記錄的應用程式
如需這些 .apk 檔、檢測以及 Android 建置程序的詳細資料,請參閱 Android 測試概觀。
- 使用 adb,將最新版本的 AUT 安裝在 Android 裝置或模擬器上。必須安裝這兩個可播放的 .apk 檔以及測試引擎 .apk 檔。adb 公用程式通常安裝在
Android-SDK-install-location\sdk\platform-tools。
- 在您 Eclipse 工作區中的下列位置,找出可播放的 .apk 檔和測試引擎 .apk 檔:
your-workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds/AUT-uid/R-original-apk-name.apk
其中 AUT-uid 是建置資料夾之前次修改時間子資料夾的資料夾名稱。一般而言,AUT-uid 是詳細的十六進位數。
範例:
C:\workspaces\rtw86\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\builds\b01714617a0a34788898e05c9696e0bf\R-expenses.apk
您可以在相同位置找到測試引擎應用程式。只需以 T 取代 R 字首。
- 從指令行執行下列指令:
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
如需詳細資料,請參閱將指令引導至特定模擬器或裝置。
- 安裝行動式測試用戶端,並以被動模式啟動它。被動模式容許在測試工作台中用 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”
- 以指令行模式執行測試。
現在,您可以執行測試。如需以指令行模式來執行測試或排程的詳細資料,請參閱從指令行執行測試或排程。
註: 您不能在 Mac OS X 上從指令行執行測試。
依預設,測試工作台 會選取最符合測試執行需求(Android 作業系統和 Android API)
的第一個連接裝置。如果要在一或多個特定裝置上執行測試,請使用 adb -s device ID 選項。如果要尋找「裝置 ID」,請在測試工作台中開啟「行動式裝置」編輯器,選取一個裝置,並在「詳細內容」中尋找 ID。
您也可以使用變數,來選取特定的裝置。如需詳細資料,請參閱定義變數,對所選取的行動式裝置執行測試。
所有測試 Script 會鏈結至特定版本的 AUT。如果您上傳新版本的 AUT,應該一律在最新版本的 AUT 上執行測試。如需詳細資料,請參閱在測試中定義變數以執行最新版本的應用程式。