您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Watir
Web自動(dòng)化測(cè)試框架?Watir試用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/19 15:00:11 ] 推薦標(biāo)簽:

  自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。通常,在設(shè)計(jì)了測(cè)試用例并通過(guò)評(píng)審之后,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際結(jié)果與期望結(jié)果的比較。在此過(guò)程中,為了節(jié)省人力、時(shí)間或硬件資源,提高測(cè)試效率,便引入了自動(dòng)化測(cè)試的概念。

  Watir 是一個(gè)使用 Ruby 實(shí)現(xiàn)的開源Web 自動(dòng)化測(cè)試框架,相對(duì)于那些龐大的商業(yè)工具來(lái)說(shuō),它很小巧,也很靈活,提供的功能也足夠用。近抽時(shí)間試用了一下,感覺(jué)還不錯(cuò),準(zhǔn)備下一步在公司推廣使用。因?yàn)?Watir 的網(wǎng)站上用戶手冊(cè)、示例代碼以及 FAQ 都維護(hù)的不錯(cuò),所以已有的東西我不重復(fù)了,在這里簡(jiǎn)單介紹一下,如果同行們有興趣,可以一起研究一下。

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

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

  1. 腳本示例

  先丟一段腳本給大家看看使用 Watir 來(lái)書寫腳本是多么的方便。下面的例子是 Watir 自帶的一段測(cè)試 Google 的搜索功能的腳本,不過(guò)我只保留了主要的部分,以使它看起來(lái)更簡(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)單嗎?說(shuō)實(shí)話要比那些商業(yè)工具錄制的腳本還要簡(jiǎn)潔和簡(jiǎn)單。

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

  Ruby : 因?yàn)槭鞘褂?Ruby 實(shí)現(xiàn)的,腳本也是 Ruby 的腳本,所以需要在本機(jī)安裝 Ruby?梢渣c(diǎn)擊這里下載。根據(jù)文檔中說(shuō)的,好選擇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)參見(jiàn) 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ǔ)言,不過(guò)你可以暫時(shí)不理它那么多(別被面向?qū)ο、腳本語(yǔ)言之類的詞匯嚇倒),如果你寫過(guò) VBScript 或者其他什么代碼那么 Watir 是很簡(jiǎn)單的。不過(guò),需要了解 Web 開發(fā),比如 HTML 的基本語(yǔ)法,因?yàn)樵陂_發(fā)腳本時(shí)需要根據(jù) Web 頁(yè)面的源代碼來(lái)確定對(duì) Web 對(duì)象的識(shí)別方式——當(dāng)然,也可以借助其他工具來(lái)實(shí)現(xiàn),例如 Mozilla Firefox 中提供的“DOM 查看器”(可以在 Mozilla Firefox“工具”菜單下找到,具體的使用方法參見(jiàn) Mozilla Firefox 幫助)。

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

  4. 腳本的生成

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

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

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

  6. 其他特性

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

  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/

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

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