您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Watir
使用Watir進(jìn)行Web自動(dòng)化測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/28 14:20:44 ] 推薦標(biāo)簽:

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

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

  1. 腳本示例

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

  require ‘watir’ # the watir controller
  # open the IE browser
  ie = Watir::IE.new
  # Step 1: go to the test site: http://www.google.com
  ie.goto (http://www.google.com)
  # Step 2: enter ‘pickaxe’ in the search text field
  ie.text_field(:name, “q”).set(”pickaxe”) # q is the name of the search field
  # Step 3: click the ‘Google Search’ button
  ie.button(:name, “btnG”).click # “btnG” is the name of the Search button
  # Actual Result: Check that the ‘Programming Ruby’ link appears on the results page
  if ie.contains_text(”Programming Ruby”)
  puts “Test Passed. Found the test string: ‘Programming Ruby’. Actual Results match Expected Results.”
  else
  puts “Test Failed! Could not find: ‘Programming Ruby’”
  end
  # End of test: Google search


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

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

  Ruby : 因?yàn)槭鞘褂?Ruby 實(shí)現(xiàn)的,腳本也是 Ruby 的腳本,所以需要在本機(jī)安裝 Ruby。可以點(diǎn)擊這里下載。根據(jù)文檔中說的,好選擇Ruby 1.8.2-14 或者更高的版本,我安裝的是Ruby 1.8.2-15 Stable Release。

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

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

3. 所需的知識(shí)背景

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

  另外,測(cè)試和自動(dòng)化測(cè)試方面的基本知識(shí)還是要有的。

  4. 腳本的生成

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

  5. 對(duì)象的識(shí)別、操作和自動(dòng)驗(yàn)證

  Watir 提供了對(duì)多種常見 Web 對(duì)象的識(shí)別和操作的支持,例如 Hyperlinks 的點(diǎn)擊、Checkboxes 的選中和清除、Radio Buttons 的選中和清除、下拉框和列表框的選擇、文本框的輸入、各種按鈕的點(diǎn)擊以及 Frame 的訪問、彈出窗口的控制等。當(dāng)然,既然可以識(shí)別和操作這些對(duì)象,也可以訪問這些對(duì)象,使測(cè)試結(jié)果的驗(yàn)證自動(dòng)化。具體信息可以參見 Watir 用戶手冊(cè)。

  6. 其他特性

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

  7. 相關(guān)鏈接

  Watir 主頁(yè):http://wtr.rubyforge.org/

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

  Ruby主頁(yè):http://ruby-lang.org/en/

  如前面所說的,Watir 的用戶手冊(cè)、FAQ等方面維護(hù)的很不錯(cuò),如果完整的看完 Watir 主頁(yè)上的 sample test 和 User’s Guide 基本上可以用 Watir 開始測(cè)試 Web 應(yīng)用了。如果有興趣進(jìn)一步研究,可以參考一下 Technical Doc ,也可以讀一下 Watir 自帶的幾個(gè)示例。當(dāng)然,也可以在這里留言或者email我,大家一起討論。

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