您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Watir
Watir-Ruby的開源Web自動化測試框架簡介
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/12/11 13:16:03 ] 推薦標簽:

Watir是一個使用Ruby實現(xiàn)的開源Web自動化測試框架,相對于那些龐大的商業(yè)工具來說,它很小巧,也很靈活,提供的功能也足夠用。近抽時間試用了一下,感覺還不錯,準備下一步在公司推廣使用。

因為Watir的網(wǎng)站上用戶手冊、示例代碼以及FAQ都維護的不錯,所以已有的東西我不重復了,在這里簡單介紹一下,如果同行們有興趣,可以一起研究一下。

1.腳本示例

先丟一段腳本給大家看看使用Watir來書寫腳本是多么的方便。下面的例子是Watir自帶的一段測試Google的搜索功能的腳本,不過我只保留了主要的部分,以使它看起來更簡潔一些:

require'watir'#thewatircontroller

#opentheIEbrowser

ie=Watir::IE.new

#Step1:gotothetestsite:http://www.google.com

ie.goto(http://www.google.com)

#Step2:enter'pickaxe'inthesearchtextfield

ie.text_field(:name,"q").set("pickaxe")#qisthenameofthesearchfield

#Step3:clickthe'GoogleSearch'button

ie.button(:name,"btnG").click#"btnG"isthenameoftheSearchbutton

#ActualResult:Checkthatthe'ProgrammingRuby'linkappearsontheresultspage

ifie.contains_text("ProgrammingRuby")

puts"TestPassed.Foundtheteststring:'ProgrammingRuby'.ActualResultsmatchExpectedResults."

else

puts"TestFailed!Couldnotfind:'ProgrammingRuby'"

end

#Endoftest:Googlesearch

這段腳本要做的事情是打開Google的主頁,然后在Google的那個文本框內(nèi)輸入“pickaxe”這個字符串,然后按下“Google搜索”按鈕,之后驗證搜索結果的頁面中是否包含了“ProgrammingRuby”這個字符串,并根據(jù)結果使用puts函數(shù)在屏幕上打印不同的信息。腳本中“#”后面的綠色部分是注釋的內(nèi)容。簡單嗎?說實話要比那些商業(yè)工具錄制的腳本還要簡潔和簡單。

2.所需要的環(huán)境

Ruby:因為是使用Ruby實現(xiàn)的,腳本也是Ruby的腳本,所以需要在本機安裝Ruby。可以點擊這里下載。根據(jù)文檔中說的,好選擇Ruby1.8.2-14或者更高的版本,我安裝的是Ruby1.8.2-15StableRelease。

Watir:可以點擊從這里下載,我下載的是Watir1.4,是一個.zip文件,解壓縮以后執(zhí)行install.rb可以了,具體的安裝和配置請參見Watir用戶手冊。不要怕,雖然是英文的,但是很簡單。

WINDOWS2000或XP+IE5.5以上版本:根據(jù)Watir網(wǎng)站上的描述,這是他們目前支持的環(huán)境。

3.所需的知識背景

因為畢竟還是要寫代碼的,所以開發(fā)經(jīng)驗是必需的,任何語言的開發(fā)經(jīng)驗都可以——雖然Ruby是一個面向對象的腳本語言,不過你可以暫時不理它那么多(別被面向對象、腳本語言之類的詞匯嚇倒),如果你寫過VBscrīpt或者其他什么代碼那么Watir是很簡單的。不過,需要了解Web開發(fā),比如HTML的基本語法,因為在開發(fā)腳本時需要根據(jù)Web頁面的源代碼來確定對Web對象的識別方式——當然,也可以借助其他工具來實現(xiàn),例如MozillaFirefox中提供的“DOM查看器”(可以在MozillaFirefox“工具”菜單下找到,具體的使用方法參見MozillaFirefox幫助)。

另外,測試和自動化測試方面的基本知識還是要有的。

4.腳本的生成

錄制功能別想了,Watir沒有提供這項功能。如果你非用錄制不可,那選擇其他吧。不過我自己的使用來看,Watir的腳本寫起來比用QTP或者Rational的工具錄制還要方便和快捷。

5.對象的識別、操作和自動驗證

Watir提供了對多種常見Web對象的識別和操作的支持,例如Hyperlinks的點擊、Checkboxes的選中和清除、RadioButtons的選中和清除、下拉框和列表框的選擇、文本框的輸入、各種按鈕的點擊以及Frame的訪問、彈出窗口的控制等。當然,既然可以識別和操作這些對象,也可以訪問這些對象,使測試結果的驗證自動化。具體信息可以參見Watir用戶手冊。

6.其他特性

如果你熟悉了Ruby,再結合其他一些工具,可以在Watir框架的基礎上擴展出很多特性。例如:外部文件或數(shù)據(jù)庫的讀取、模塊化的開發(fā)、可重用的函數(shù)庫、數(shù)據(jù)驅動、關鍵字驅動、腳本的版本化控制以及測試結果的管理,等等。

7.相關鏈接

Watir主頁:http://wtr.rubyforge.org/

Ruby中文手冊:http://www.ruby-cn.org/doc.html

Ruby主頁:http://ruby-lang.org/en/

如前面所說的,Watir的用戶手冊、FAQ等方面維護的很不錯,如果完整的看完Watir主頁上的sampletest和User’sGuide基本上可以用Watir開始測試Web應用了。如果有興趣進一步研究,可以參考一下TechnicalDoc,也可以讀一下Watir自帶的幾個示例。當然,也可以在這里留言或者email我,大家一起討論。

 

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd