開源測試工具Selenium或者說開源測試社區OpenQA.org已是今非昔比,兩年多前,我曾經介紹過Selenium IDE、Selenium Core和Selenium RC(強大的Web開源測試工具—Selenium)。如今,這個家族又增添了不少新成員,例如:
分布式測試環境——Selenium Grid
強大的功能測試框架和平臺-CubicTest
單元測試Java庫 -Floyd
測試管理工具——Bromine
純Java、輕量級應用的測試工具——Frankenstein
Rails應用測試方法——Selenium on Rails
C#/ Ruby腳本錄制工具——Watir Maker
基于Watir 的Web測試工具——WET
構建Java單元測試的一套工具——JTC(Java Testing Commons)
1.分布式測試環境——Selenium Grid(網格)
Selenium Grid能充分地利用測試環境中的機器,允許同時并行地、在不同的環境上運行多個測試任務,極大地加快Web應用的功能測試.
基于的Web測試工具Selenium,Selenium Grid可以并行地運行多個Selenium Remote Control(RC,遠程控制)的實例,而且可以在一臺機器上能控制它們,而不要在乎實際的物理環境。這樣,Selenium Grid可以大大地節省測試執行的時間。
對于Selenium RC,又提供了很好的靈活性,測試腳本可以由Ruby, Java, Python, C#, PHP, ...等不同的語言來開發。
后,告訴大家,Selenium Grid容易安裝,也容易使用.
2. 強大的功能測試框架和平臺-CubicTest
CubicTest 成為的Web功能測試的綜合開發環境,雖然現在有很多不同的測試框架,但是CubicTest 具有協調各種相關的Web元素之間的相互作用而獨樹一幟。不必作為一個程序員去理解CubicTest,要關注的是要測試Web頁面上所能看到的界面元素,而不是HTML源代碼。
CubicTest 強力支持 “不重復自己(Don't Repeat Yourself,DRY)”和“測試優先” 兩大原則。DRY原則通過子測試(subtests,被其它測試調用的測試)實現通用化(Commons)、參數化(parameterization)和抽象等特性,從而使自動化功能測試變得容易。通過圖形化建模和HTML輸出等特性,CubicTest實現了測試優先的策略。
CubicTest借助像elenium 和Watir的測試框架來驅動測試,而且是圖形化方法實現,從而使人們非常容易理解和使用框架。直到近發布的1.8.6版本,CubicTest才充分發揮了Selenium的所有潛力,并在不久的將來,也能很好支持Watir。
CubicTest 1.8.6的新特性:
支持多幀(multi-frames)結構
國際化(I18N)支持,多國語言的站點
自定義步驟,具有調試的能力
捕獲各種HTML和圖像的問題
3. 單元測試Java庫 -Floyd
Floyd是為了更容易實施Web應用的自動化測試而建立的Java庫.它提供了對像Mozilla和IE這樣標準的瀏覽器的完全控制能力,以實現Java單元測試。通過調用Floyd's Java API,可以實現瀏覽器的交互和頁面裝載,這樣可以模擬用戶對真實的web瀏覽器的交互作用。
對于Java web應用,可以采用內嵌式Web服務器來提高測試能力,如訪問服務器的session,獲取向服務器發出的請求和服務器的響應。Floyd不是對JUnit類的擴張,所以它可以應用于各種單元測試之中,不局限于JUnit 或 TestNG