歡迎您光臨本站 註冊首頁

使用 Watir 加速面向 Web 應用的自動化測試程序的開發

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
本文所要介紹的 Watir( Web Application Testing in Ruby) 是一個優秀的開源工具,用於開發基於 Web 應用的自動化測試程序。它使用 Ruby 腳本語言,提供了輕量級的自動化測試程序框架和豐富的開發庫,有效地加速了自動化測試程序開發。

引言

隨著 Web 應用的流行與其複雜度的增加,以及軟體過程敏捷化要求的提升,自動化測試成為保障項目成功的一個重要因素。因為自動化測試可以大大地減少測試人員的重複工作,加快測試速度,使測試更加頻繁,從而保證了項目的質量和進度。此種情況下,測試人員更加需要一個功能強大且簡單易用的自動化測試工具,輔助測試人員搭建測試框架,設計自動測試程序,而又儘可能減少自動化測試程序的開發和維護成本 .

本文所要介紹的 Watir( Web Application Testing in Ruby) 是一個優秀的開源工具,用於開發基於 Web 應用的自動化測試程序。它使用 Ruby 腳本語言,提供了輕量級的自動化測試程序框架和豐富的開發庫,有效地加速了自動化測試程序開發。

本文介紹了 Watir 的主要功能和特點,以及如何搭建 Watir 的開發運行環境,並通過一些代碼示例詳細地介紹了構建一個 Watir 自動測試程序的主要步驟。本文同時介紹了用 Watir 開發自動化程序的幾個關鍵技術:如何在複雜頁面中選擇一個合適的對象識別方式;如何使用 Ruby 提供的互動式工具 IRB 來加速 Watir 程序的開發和調試;如何用 YAML 文件管理測試數據,並通過 Watir 程序來讀取和解析;如何繼承 Ruby 的單元測試框架來創建和調用測試用例,以及測試用例集等。

本文的聽眾為對自動化測試有興趣,並且對自動化測試基本知識有一定了解的開發人員和測試人員。





Watir 的主要特性以及使用 Watir 開發自動化程序的優勢

Watir 是一個輕量級的用於開發基於 Web 應用的自動化測試框架,它基於 Ruby 語言,提供了豐富的開發庫,簡化了自動化測試程序開發。下面我們總結了 Watir 的主要一些優良特性:

  • Watir 基於 Ruby 語言。 Ruby 是面向對象語言,功能強大,簡單易用。程序解釋執行不用編譯;
  • Watir 支持多種操作系統平台,包括 Windows, Mac, Linux ;同時支持多種主流瀏覽器,如 IE, Firefox, Chrome
  • Watir 提供了豐富的開發庫,封裝了包括瀏覽器窗口 windows,button, link, dialog, image, table, div 等絕大多數 HTML 對象類型,方便測試人員快速構建自動化測試程序。
  • Ruby 提供了強大的交互命令工具 IRB(Interactive Ruby Shell), 在 Watir 程序開發中,我們使用 IRB 調試代碼。別於傳統調試方法,測試人員可以就單獨一條命令或者一段程序進行調試,從而能夠快速定位錯誤,節省調試時間。
  • Ruby 提供了 Test::Unit 單元測試框架,通過繼承該框架,我們可以對測試用例,測試用例集 (Test Suites) 進行靈活方便地組合和調用,並且可利用斷言 (Assertion) 來驗證測試結果。
  • 其他腳本語言如 Perl, Python, Shell 等也可以很好地集成到 Watir 程序中。
  • Watir 程序在運行時,允許測試人員在該測試機器上訪問其他網頁或者進行其他操作而不會影響到對象識別的結果。




搭建 Watir 開發運行環境

1. 下載並安裝 Ruby 包

下載 Ruby 包,在 window 平台可下載 Ruby 1.8.6 One-Click Installer,按照嚮導安裝

2. 下載並安裝 Watir 包

  • 下載並自動更新 RubyGems 到最新版本 。

    注意:Gem 是指任何一個打包好的 Ruby 庫,這些 Ruby 庫通過 Gem 命令來安裝,卸載。

    C:\Documents and Settings\Administrator>gem update – system   	 Updating RubyGems   	 Updating rubygems-update

  • 安裝 Watir 庫,下面以 Window 上安裝 Watir1.5.6 為例 :
    			C:\Documents and Settings\Administrator\>gem install water  			Successfully installed water-1.5.x  			Installing ri documentation for water-1.5.x …  			Installing RDoc documentation for water-1.5.x..

  • 在安裝完 Watir 后,可以運行 Watir 自帶的 Unit Tests,用以驗證 Watir 是否安裝成功。 Unit Tests 程序位於 {Ruby 安裝目錄 }\lib\ruby\gems\1.8\gems\watir-1.5.6\unittests\core_tests.rb,具體每一項檢查結果會輸出到 console 中。

3. 在瀏覽器上安裝 Html 查看器插件

獲取網頁對象屬性是開發 GUI 自動化測試程序的必要一步。雖然 Watir 本身沒有提供類似 RFT 中 Object Capture 的對象捕捉器,但在 Watir 程序的開發中,我們可以配合使用一些第三方提供的運行在瀏覽器端的 Html 查看器,以便網頁結構和對象屬性的查看。比如,IE 瀏覽器可安裝 Microsoft IE Explorer Develop Toolbar ; Firefox 瀏覽器,可安裝 Firebug 。這些查看器具有以下類似功能:

    1. 可方便瀏覽整個網頁 DOM 結構樹;
    2. 可察看各種類型對象(table, image, text, link 等)的具體屬性及屬性值。
    3. 支持對象查找和過濾
    4. 支持 HTML 和 CSS 源代碼查看

圖 1. IE 瀏覽器啟動 IE Develop Toolbar

我們以 IE 中為例 ( 如圖 1),在 IE 工具欄中點擊游標狀圖標(如圖中紅色方塊標識), IE Developer Toolbar 就會在當前瀏覽器下方打開。其中左邊一欄顯示了該網頁的 DOM 樹。當選中該 DOM 樹上的某個節點時,該節點對應的頁面上的某對象就會高亮閃爍顯示(如圖中 Log In 按鈕被選中);中間一欄列出了選中對象的屬性及屬性值,如圖中,Login 按鈕有三個屬性 name,id,type ;右邊一欄為當前對象的一些特性和風格。

當我們想查看某個對象的屬性時,可以點擊 IE Developer Toolbar 最左上角的圖標,選中該對象,其所在的 DOM 節點,屬性以及屬性值就會列在當前瀏覽器下方。

除此之外,IE Developer Toolbar 還提供了另外一些有用的功能方便自動化程序的開發和調試。如用各種顏色框體標出所有指定的對象類型(如 table cells, table, DIV, images 等),在網頁上列出所有圖片的 ALT 值,所有鏈接的路徑,以及所有對象的類型和 ID 等。

4. 在 Eclipse 集成環境中安裝 Ruby 插件,搭建 Watir 的開發和運行環境。

SciTe 是安裝 Ruby 后自帶的單文檔編輯器,但它不適合較大規模程序開發。而 Eclipse 集成開發環境不僅方便程序的開發和調試,而且它與 CVS 版本控制緊密綁定,並對團隊協作開發很好支持,所以我們可以在 Eclipse 集成環境中安裝 Ruby 插件,搭建 Watir 的開發和運行環境,以下為具體步驟:

  1. 在 Eclipse 中下載最新版 Ruby 插件 , 下載地http://update.aptana.com/update/rdt/3.2/

    圖 2. 在 Eclipse 中下載最新版 Ruby 插件


  2. 添加 Ruby 解釋器。點擊” Window ” -> ” Preferences ” -> ” Ruby ” -> ” Installed Properties ” , 點擊” Add ”按鈕,選擇並關聯 Ruby.exe 作為 Ruby 解釋器。

    圖 3. 在 Eclipse 中添加 Ruby 解釋器


  3. 當 Ruby 安裝完成後,項目視圖中會添加 Ruby Resource 一項,開發人員可以在該視圖下編寫或查看 Watir 程序。

    圖 4. Ruby Resource 視圖


  4. Watir 是一個 Ruby 開源庫,閱讀其源代碼不僅可以了解 Watir API 的具體實現,同時它本身也是編寫 Ruby 和 Watir 的很好的代碼示例。所以我們可以在 Eclipse 中引入 WATIR 項目。 Watir 源碼位於 {Ruby 安裝目錄 }\lib\ruby\gems\1.8\gems\watir-version,一下為 WATIR 項目結構。其中 unittests 目錄下是對 Watir 所支持的頁面對象類型以及主要的 API 進行單元測試的 Ruby 程序,我們在編寫 Watir 自動化程序時不妨多多參考。

    圖 5. WATIR 項目結構






創建 Watir 自動化測試程序的基本步驟

在 Watir 開發環境搭建好后,我們開始創建一個 Watir 自動化測試程序項目,通常有以下一些步驟:

  1. 在 Eclipse 中創建一個 Ruby 項目。從菜單選擇 File->New->New->Project->Ruby Project, 並給定項目名稱;
  2. 搭建自動化測試程序框架,我們可以延續 IBM 的三層自動化體系結構,從下到上分別是公共對象 (Object), 任務(Task),測試用例和測試用例集(Test Case)。
  3. 編寫第一個 Watir 程序。 Ruby 語言簡單直觀,Watir 庫的使用語法也非常簡潔。在使用 Watir 庫之前,我們首先要引入 Watir 庫。
    require 'watir'                                # 引用 Watir 庫  		 ie = Watir::IE.new                            # 創建一個 IE 瀏覽器實例        		 ie.goto("https://9.123.109.110:9043/ibm/console ")   		 ie.button(:type, ‘ submit ’ ).click             # 識別對象並對對象進行操作


[火星人 ] 使用 Watir 加速面向 Web 應用的自動化測試程序的開發已經有884次圍觀

http://coctec.com/docs/linux/show-post-68734.html