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

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

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

  1. 腳本示例

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

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

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

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

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

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

3. 所需的知識背景

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

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

  4. 腳本的生成

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

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

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

  6. 其他特性

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

  7. 相關(guān)鏈接

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

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

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

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

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