程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Rational >> 使用IBM Rational Test Workbench測試Android App應用

使用IBM Rational Test Workbench測試Android App應用

編輯:Rational

IBM Rational Test Workbench(簡稱 RTW)是 IBM Rational 的統一的測試工具集,包括功能測試、性能 測試、接口 SOA 測試等模塊,滿足客戶多種類型的自動化測試需求。在 IBM 發布新的 RTW 8.5 版本,RTW 又增加了針對移動應用的 App 自動化測試功能,目前支持 Android、Apple iOS 兩個版本的 App 應用。本文 就介紹如何快速使用 RTW 8.5 對 Android 應用進行自動化測試。

概括

IBM Rational Test Workbench (簡稱 RTW) 是 IBM Rational 的統一的測試工具集,包括功能測試,性能測試,接口 SOA 測試 等模塊,滿足客戶多種類型的自動化測試需求。在 6 月份,IBM 發布了新的 RTW 8.5 版本,在該版本中, RTW 又增加了針對移動應用的 App 自動化測試功能,目前支持 Android, Apple iOS 兩個版本的 App 應用, 本文就介紹如何快速使用 RTW 8.5 對 Android 應用進行自動化測試。

RTW 引入的針對 Android 的自 動化測試會解決什麼問題呢?眾所周知,移動應用已經在我們的工作生活中廣泛使用,電影票,機票,打車, 銀行轉帳,購物都可以通過 App 來解決;而同時,由於每個人使用的手機終端類型多樣,而 Android 操作系 統的版本又眾多(Android 2.2 到目前最新的 4.2),甚至眾多手機和移動服務廠商也基於 Android 定制了 多種類型的手機系統 ( 中移動的 G3 定制,小米的定制 ),這些都會讓移動 App 的開發者面臨著這樣的疑問 :我們開發的 App 是否可以支持這些名目繁多的手機 / 系統 / 版本 ? 如何測試呢,針對沒有手機終端或者 模擬終端進行手工安裝,跑功能測試 ? 大可不必,現在已經是 21 世紀了,科技改變生活,我們可以使用 "自動化"測試,針對一台設備把測試過程錄制下來,然後針對更多的設備自動進行測試,檢查結果 。和以前傳統的 IBM RFT,HP QTP 等自動化工具不同的是,我們在這裡要自動化的不是傳統的電腦上的程序, 而是手機上的應用程序,要使用到的"對象識別"等程序也針對的是"手機 App 應用"。

RTW 對 Android App 的支持,需要分別在 PC 電腦和 Android 手機上安裝模塊,PC 電腦(對應下圖 desktop) 上安裝的是 RTW Eclipse 客戶機 , 手機 ( 對應下面圖中的 Mobile device) 上安裝的是 RTW Mobile Client。RTW Mobile client 和 RTW Eclipse 可以通過 wifi,USB 數據線等通訊連接。測試的手機 App 可以配置在 RTW Eclipse 中,采用同步的方法同步安裝到手機上的 RTW mobile client 中,然後開始錄 制針對該 App 的動作,會自動傳遞回 RTW Eclipse 客戶機,在其編輯和維護腳本後,選擇運行測試,則測試 自動在手機上運行,最終的結果返回和展現在 RTW Eclipse 客戶機中。

圖 1. 使用 RTW 測試 Android app 的步驟

如上圖,對 Android app 的測試, 將按照以上的步驟,我們先快速討論了解,後續的章節會展開詳細介紹:

(電腦)中安裝 RTW Eclipse。

(電腦)中配置 Android SDK,配置 RTW Eclipse 使用 Android SDK

( 手機)上安裝 RTW mobile client.

設置(手機)上的 RTW mobile client 連接(電腦)RTW Eclipse。

(手機)上選擇要測試的 App 應用,同步上傳到(電腦)RTW Eclipse

或者在(電腦)RTW Eclipse 中選擇要測試的 App 應用的安裝文件(apk 後綴名)直接導入,然後同步到 手機中去安裝。

(手機)上選擇錄制,App 進行測試

(電腦)產生測試腳本,編輯和維護測試腳本

(電腦)RTW Eclipse 中運行測試,(手機)RTW mobile client 自動執行針對 App 的操作,並傳遞執行 結果到(電腦)RTW Eclipse 中。

步驟 5 和步驟 6 是兩種不同的實現方式,選擇任何一種即可。

由於步驟 2 安裝和配置 Android SDK 步驟較多,容易出錯,本文把該步驟拆分為"安裝 Android SDK" ,"配置 RTW Eclipse 使用 Android SDK"兩個部分。

本文使用的是手機模擬器,所以增加了一個步驟"使用 AVD Manager 配置手機模擬器"。

安裝 RTW Eclipse.

移動測試功能,不是增加新功能到以前 的 RFT 等產品中,RTW 的移動測試功能是放在一個新的 Eclipse 界面的產品中,即 RTW Eclipse 客戶機。 為了使用這個功能,我們首先要安裝 IBM Installation Manager 1.6.3 以上版本,然後使用其來安裝 RTW Eclipse 客戶機。

打開 IBM Installation Manager 1.6.3,菜單選擇"文件"-"首選 項"- 存儲庫;點擊"添加存儲庫"指向 RTW 的安裝介質位置。

圖 2. Installation Manager 中配置 RTW 安裝介質位置

然後,回到 Installation Manager 主界面,選擇"安裝",出現 RTW 的安裝介面,如下界面,可以看出 RTW Eclipse 客戶機支持移動 測試,Selenium 測試等。並支持作為 RTC (Rational Team Concert, 協同的配置變更管理)客戶端。我們在 這裡需要選擇第一個"Rational Test Workbench Stream.lined Eclipse "和最後一個"IBM Rational Test Workbench Extension for Mobile",其他模塊根據需要選擇。

圖 3. 選擇 RTW Eclipse, 和 RTW extension for Mobile

選擇後,一路向下 Next, 完成安裝 。

安裝 Android SDK

為了測試 Android App, 需要在安裝 RTW Eclipse 客戶機的電腦上安裝 Android SDK,並在 RTW Eclipse 中配置使用 Android SDK。

下載 Android SDK Manager,並安裝

我們這個步驟就是下載配置 Android SDK。首先訪問 http://developer.android.com/sdk/index.html , 選擇"use an existing IDE", 展開後選擇"Download the SDK tools for Windows", 我們下載 SDK manager。其是一個 exe 的可執行文件,執行其可以繼續下載其他的 SDK 部分。

圖 4. 下載 Android SDK Manager

執行 SDK Manager.exe

選擇 Android SDK 的安裝地址並記錄,該地址後續需要配置在 RTW Eclipse 客戶機中。我們這裡使用: C:\Android\android-sdk;然後先不需要啟動 SDK manager 繼續安裝更多的 SDK, 後續這些會在 RTW Eclipse 中安裝。

RTW Eclipse 中安裝 ADT,配置 Android SDK

為了在 RTW Eclipse 客戶集中使用 Android SDK, 首先需要在 RTW 中安裝 Android 的 ADT, 安裝方法如下:

下載並安裝 ADT :

啟動 RTW elipse, 菜單中依次選擇幫助〉安裝新軟件。

在彈出窗口中,點擊右上角的"增加"按鈕

在增加存儲庫對話框中,在名稱欄目輸入: ADT Plugin . URL 欄目輸入:https://dl- ssl.google.com/android/Eclipse/

點擊"完成"按鈕

如果上面的地址不工作,請嘗試使用http://dl-ssl.google.com/android/Eclipse/

在"可安裝的軟件"窗口,選擇"Developer Tools"旁邊的 check box. 然後選擇 "下一步"

在該窗口中,檢查要安裝的文件清單,接受協議,確認並點擊"完成"。

在彈出的警告框中,選擇"OK" 繼續。

當所有模塊完成安裝,重新啟動 RTW Eclipse 客戶機。

在 RTW Eclipse 中配置 ADT Plugin

Eclipse 重新啟動以後,需要在 RTW Eclipse 客戶機中配置 Android SDK 的路徑:

如果出現 "Welcome to Android Development" 窗口,在該窗口選擇 Use existing SDKs. 浏 覽目錄並指向上面步驟記錄的 Android SDK 安裝路徑,我們的例子中是 C:\Android\android-sdk;然後選擇 "Next";

如果沒有出現 "Welcome to Android Development" 窗口,不用著急,可以直接在 RTW Eclipse 中配置:菜單中依次選擇"窗口"--〉"首選項"。

在 Android 菜單中 SDK Location 選擇 Android SDK 安裝路徑。

同時,在"首選項"窗口中,請檢查"測試"--〉"移動 Web 測試"--〉 "移動程序構建器",檢查並設置右側窗口的"Android SDK 位置"。

重新啟動後,會要求你更新最新的 SDK Platform tools, 直接在這裡選擇安裝(如果沒有彈出更新 SDK platform tools",可以在 windows 開始菜單中選擇 Android SDK tool--〉SDK Manager 來啟動)這裡 要特別注意,至少要選擇 Android SDK Tools, Android SDK Platform-tools, Android SDK Build-tools。

必須選擇和你測試使用的手機 android 版本一致的 SDK, 如我的手機 android 版本是 4.12,這裡就 要選擇上 Andorid 4.12 (API 16);如果你要使用模擬器,這裡就必須選擇上 ARM,或者 Intel X86.( 對 應模擬器的 CPU,這個必須有,否則後續建立模擬器時候無法選擇)。

圖 5. Android SDK 配置安裝

使用 Android AVD Manager 配置手機模擬器

如果安裝後你的 RTW Eclipse 菜單中,"窗口 "下面有了 Android AVD manager, 那麼恭喜你;如果沒有,和人品無關,可以直接在 Windows 開始菜 單 --〉所有程序 --〉Android SDK tools 下面啟動 ; 啟動後選擇"new", 新增一個設備,並點擊 Start 按鈕啟用它,你的模擬器就完成了,出現了常見的手機界面等。

我們在這裡新增一個 Emulator, 為了更好的顯示,增加一個 tablet(這裡不需要太多錢就可以模擬,為什麼不模擬一個大而炫的 機器?);

圖 6. 新增一個手機模擬設備

在模擬器中安裝 RTW mobile client, 並連接到 PC 上的 RTW Eclipse

手機模擬器啟動後,打開 RTW Eclipse 客戶機,從菜單中選 擇文件 --〉新建 --〉設備,會出現"添加設備"窗口,記錄下工作台 URL 地址。

特別注意 :這裡的工作台地址會有多個,請檢查你的物理無線的 IP 地址,選擇其對應的工作台 URL, 一般情況下都是 192.168. 開頭的。可以在命令行下使用 Ipconfig 命令查看具體的網卡對應的 IP 地址。

圖 7. RTW Eclipse 工作台

在這裡手機模擬器和電腦上的 RTW Eclipse workspace 中使用同一個無線網絡,所以查看無線網卡的地址,使用 Ipconfig 發現無線網卡的地址 是 192.168.1.102; 所以在工作台 URL 中選擇http://192.168.1.104:7878/mobile.

圖 8. 根據連接 方式,確定要使用的 IP 地址

我們繼續在 android 模擬器中安裝 RTC mobile client, 安裝方法如下:

在 android 模擬器中打開浏覽器,訪問上面的 RTC 工作台 URL,在浏覽器中輸入 http://192.168.18.1:7878/mobile,並訪問。

點擊步驟 2 的"單擊此處開始下子"下載 RTW mobile client 並安裝。(如果是真實的手機, 在這裡支持拍照二微碼,然後下載安裝即可)

圖 9. 手機模擬中訪問 RTW Eclipse 工作台 URL

安裝成功後,在手機模擬器中打開 IBM Rational Test Workbench mobile 程序,下面的界面出現了,選擇"配置工作台",輸入 RTW Eclipse workspace 中的工作台地址:http://192.168.18.1:7878. 當出現"斷開連接"就說明已經 連接成功了,後面就可以使用該手機模擬器來錄制和回放腳本。

圖 10. 配置 RTW mobile client 連 接 RTW Eclipse 工作台

在 RTW Eclipse 客戶機中,移動設 備視圖,就可以看到這個模擬器設備了,終於移動設備搞定。接下來就可以使用該模擬器來錄制和回放腳本了 。

圖 11. 察看連接到 RTW Eclipse 工作台的移動設備

在 RTW Eclipse 中配置 App,同步到 Mobile 設備

機器安裝完畢,就可以測試了 ; 測試對象,就 是我們要測試的 App 在哪裡?如果導入 RTW Eclipse 客戶機和 RTC mobile 程序中?不用著急,我們這就開 始。

在 RTW Eclipse 客戶機中,菜單中選擇文件 --〉新增 --〉(測試)添加應用程序,在下面窗 口中導入 app 應用,我這裡選擇了 Weather.apk,一個查詢天氣預報的 App 小程序。

圖 12. RTW 中 配置 apk

導入成功後,會顯示在"移動 應用程序"視圖,並且在右側可以看到該應用程序支持的 Android 版本等,在可用軟件包下面,會自動 產生多個軟件包,用在不同的地方(錄制和回放使用的是不同的 Apk)。

圖 13. RTW Eclipse 中察看 已經配置好的移動 App

導入成功後,在 Android 手機上的 RTW mobile client 中選擇"管理的應用程序",就可以看到該 App, 選擇該 App, 准備開始腳本錄 制。

圖 14. RTW mobile client 中察看配置好的 App

在 RTW mobile 中錄制腳本,傳遞 回 RTW Eclipse 上編輯

首先在 RTW Eclipse 客戶機中,新建一個測試項目,然後開始錄制腳本:

錄制步驟如下:

RTW Eclipse 客戶機中,菜單欄依次選擇:新建 --〉錄制產生腳本 --〉錄制類型選擇"移動測試 ",繼續。測試名稱中輸入"My first mobile script", 點擊完成,會自動彈出錄制窗口,開 始錄制。

手機上,進入 RTW mobile, 選擇"管理的應用程序",選擇 weather app。進入選擇"記錄 "。這時候針對該 App 所做的記錄都會被自動錄制下來,關閉該 App 後,這些動作會保存為腳本傳遞回 RTW Eclipse 客戶機。

圖 15. RTW mobile 中開始錄制測試

選擇錄制,進行動作,該應用是查 詢天氣,可以在 App 中,city 輸入 beijing,country 輸入 china,點擊第三個"Go",查詢最近 3 天的天氣;完成後,退出該應用。

圖 16. RTW mobile 中執行動作,使用 App

在 RTW 中,選擇"支持記錄"按鈕,完成錄制過程;當"測試生成"顯示"測試生 成已經完成"消息時候選擇"打開測試"按鈕; 自動顯示出錄制產生的測試腳本,內容如下:

圖 17. 分析 RTW Eclipse 中的移動測試內容

我們在這裡要分析下該視圖,裡面 有四部分內容

左上角顯示的是具體的測試內容,每個步驟都對應一條腳本,腳本是文字類型的描述,如 在編輯文本中 輸入文本"Beijing",以下對象的右側文本視圖"city"表示要找到一個文本內容 City, 在其右側有一個輸入框,該輸入框中輸入"Beijing"。

右上角對應顯示當前的操作對應的信息,包括兩部分信息"怎麼找到這個編輯文本對象"? "對這個對象做什麼操作呢?"放大圖表,用圖表來說話。

圖 18. 測試對象識別依據

怎麼找到:檢查"對象位置 "欄目,其首先要找到"City"這個對象,對象識別依據是"文本","文本 "內容是 City。然後定位該對象的右側,有一個"編輯文本"對象,就是一個輸入框,好,就 這樣"兩步走"找到了輸入框對象。

做什麼操作:檢查"對象的操作"欄目,其內 容是"輸入文本",文本呢,是"Beijing"。

左下角是當前選擇中的對象的頁面快照,紅色的矩形范圍就清晰的顯示了要操作的對象,我們可以看到其 對應的就是 City 右側的輸入框。

圖 19. 測試對象屏幕快照

右下角,顯示當前對象的各種屬性。包括長度,高度,是否可單擊等。

我們可以修改錄制的輸入內容,如把上面的"Beijing"修改為"ShangHai"。

運行測試,察看結果

為了運行測試,需要把收集模擬器上的 RTC mobile client 設置為"被動模 式"表示其准備好回放腳本,選擇"切換到被動方法"即可,以後如果要繼續錄制,需要" 切換到主動方法"。

圖 20. RTW mobile 中切換到“被動模式”,准備運行測試

回到 RTW Eclipse 中,運行測試,會自動彈出"啟動測試"。而回放的具體動作都在手機模擬器 中執行,而在 RTW 中同步顯示測試進度。

圖 21. RTW Eclipse 中的測試報告

如上,測試報告中,包括:

測試:顯示測試的腳本名稱,執行時間;

執行狀態:測試是否成功等,總體狀態。

應用程序: 測試的 App

設備:測試在哪裡執行的。

持續時間:測試整個運行時間;後續步驟會顯示每個具 體步驟地執行時間。

後續是每個步驟的具體執行結果,頁面截圖,運行時間等。

技巧

無論是否使用 android simulator,必須安裝 android SDK; 需要其來重新"插樁"app。

如果使用真實的手機連接 RTW, 其 android 版本必須在 Android SDK 中有對應的同樣版本。

如果使用真實手機連接 RTW, 可以通過 wifi 或者 USB 方式等,而且 RTW workbench URL 必須對應選擇 無線網卡對應的 IP 地址/隧道方式對應的 IP 地址。可以使用 IPConfig 命令來查看具體的 IP 地址;

使用 USB 數據線連接(手機中)RTW mobile client 和(電腦中)RTW Eclipse 時候,請確保在手機中設 置使用 USB 網絡分享,方法如下:設置 ---> 無線和網絡 --> 更多設置 --> 網絡分享和便攜式熱 點 -->USB 網絡分享

圖 22. 手機中設置 USB 網絡分享以連接 RTW eclipse.

<img width="" height="" " src="http://img.ddvip.com/2013/0823/201308230549214093.png"/>

同時,確保 RTC eclipse 所在的電腦上 Windows 防火牆是關閉的。

在手機上 , 打開 RTW mobile client, 受管理的應用程序中,選擇後,直接錄制;錄制成功後,會自動通 知 PC 上的 RTW Eclipse 有新錄制完成,自動產生腳本。

圖 23. 在 RTW mobile 中執行錄制,會主動傳遞回 RTW Eclipse 中

在 Eclipse 中安裝 Addroid SDK 時候,可能會遇到依賴性錯誤:如下

Cannot complete the install because one or more required items could not be found.

Software being installed: C/C++ Development Tools 7.0.0.201006141710

(org.Eclipse.cdt.feature.group 7.0.0.201006141710)

Missing requirement: GDB Common 7.0.0.201006141710

(org.Eclipse.cdt.gdb 7.0.0.201006141710) requires 'bundle

org.Eclipse.core.runtime 3.6.0' but it could not be found

建議先訪問 http://www.Eclipse.org/cdt/downloads.php,安裝對應的 CDT.

這裡摘錄英文版本的在 Eclipse 中 Android SDK 步驟,供參考:http://developer.android.com

You should have already downloaded the Android SDK Tools.

Double-click the executable (.exe file) to start the install.

Make a note of the name and location in which it saves the SDK on your system—you will need to refer to the SDK directory later, when setting up the ADT plugin and when using the SDK tools from the command line.

Once the installation completes, the installer offers to start the Android SDK Manager. If you'll be using Eclipse, do not start the Android SDK Manager, and instead move on to Installing the Eclipse Plugin.

如果在 RTWEclipse 客戶機中 ,導入 apk 程序時候,如果顯示"導入失敗",請根據提示檢查原因,如是否是 App 支持的 android 版本太低(RTW 支持的最低版本是 Android 2.2),則需要在開發工具中更新改 App, 編譯過程選擇 2.2 以上的 android 版本。RTW 目前支持的 Android 版本是 2.2 以上。

圖 24. RTW 支持 Android 2.2 版本以上的 App

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved