新聞中心
Ruby Watir是一款基于Ruby語言的自動(dòng)化測(cè)試框架,這款框架的功能也是異常強(qiáng)大的,它可以靈活方便的幫助我們完成各種需求。#t#

為博興等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及博興網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、博興網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Watir是基于Ruby這種面向?qū)ο蟮哪_本語言的,它用的是一種純粹的編程語言,并且它是一個(gè)開源的產(chǎn)品,同時(shí)它還允許對(duì)網(wǎng)頁 上的對(duì)象的直接操作,例如html和JavaScript 。不過Watir僅僅是對(duì)IE進(jìn)行控制的,如果想要操控其他的瀏覽器例如Firefox或Safari就需要安裝相應(yīng)的Watir庫(kù),參考這里??傊?,Watir是一個(gè)面向?yàn)g覽器來開發(fā)和運(yùn)行的一個(gè)自動(dòng)化測(cè)試工具。
Ruby簡(jiǎn)介
ruby 是一種完全的面向?qū)ο蟮恼Z言,語法簡(jiǎn)單,是解釋執(zhí)行的腳本語言,代碼的可讀性高,號(hào)稱“最接近自然語言的編程語言”。Ruby語言起源于日本,它的研發(fā)者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年開始著手Ruby語言的研發(fā)工作,他開發(fā)Ruby語言的初衷是為了提高編程的效率。ruby語言的一些特點(diǎn)包括(1)動(dòng)態(tài)載入??梢栽谶\(yùn)行時(shí)候重定義自己,類也可以在運(yùn)行時(shí)繼承或取消繼承。 (2)自動(dòng)內(nèi)存管理機(jī)制。 (3)多精度整數(shù)。 (4)迭代器和閉包。 (5)開源項(xiàng)目。有大量活躍的社區(qū)支持Ruby語言。
構(gòu)建環(huán)境
因?yàn)镽uby Watir是由Ruby實(shí)現(xiàn)的,所需要的腳本也是Ruby的腳本,所以你需要在本機(jī)先安裝Ruby。安裝在Windows上面的Ruby可以點(diǎn)擊這里下載,我安裝的是1.8.6版本的,也就是***版的。當(dāng)你完成Ruby的安裝后,打開命令行窗口,輸入gem install watir 就會(huì)將watir安裝到相應(yīng)的文件夾下面,這個(gè)命令是將整個(gè)watir及相關(guān)的一些文檔和文件一起安裝,如果只想安裝某個(gè)特定的gem的話,后面可以加上參數(shù)- -ignore-dependencies 。這樣開發(fā)環(huán)境就很簡(jiǎn)單的搭建完成。
腳本示例
下面是我寫的一個(gè)應(yīng)用watir對(duì)passport測(cè)試站點(diǎn)自動(dòng)注冊(cè)郵箱的一個(gè)例子,在搭建完環(huán)境以后你可以將下面的代碼拷貝到Ruby自帶的解釋器SciTE中保存為test_passport.rb, 只要是后綴名為.rb就可以,然后點(diǎn)F5運(yùn)行調(diào)試就能看到結(jié)果。下面的代碼只是實(shí)現(xiàn)了最基礎(chǔ)的一些功能,主要是通過這個(gè)例子能夠?qū)uby Watir有個(gè)直觀的認(rèn)識(shí)。
- require 'watir'
- include Watir
- #生成一個(gè)隨機(jī)的郵件地址
- @mail_address=Array.new(3){(rand
(122-97)+97).chr}.join+Array.new(6)
{(rand{10}*10).to_i.abs}.join+"@easi.com"- #密碼這一塊為了方便管理可以寫死一個(gè)好
記得密碼,例如‘123456‘- @mail_pwd="123456"
- ie=IE.new
- #passport測(cè)試站點(diǎn)
- ie.goto ('accountservices.
passport-int.net/reg.srf?')- #選中radio button
- ie.radio(:name,"HasEmail").set
- #點(diǎn)擊continue按鈕
- ie.button(:name, “Continue").click
- ie=IE.attach(:title, “Sign Up")
- #在text field中填寫所需要的信息
- ie.text_field(:name,"p4181")
.set(@mail_address)- puts 'Email address: '+@mail_address
- ie.text_field(:name,"p3e8").set(@mail_pwd)
- puts 'Password: '+@mail_pwd
- ie.text_field(:name,"p10000000").set(@mail_pwd)
- #在下拉列表中選中需要的選項(xiàng)
- ie.select_list(:name,"p200000000000bb8")
.select("Mother's birthplace")- ie.text_field(:name,"p200000000000bb9"
).set("11111")- ie.text_field(:name,"p10000002").set("0")
- ie.button(:name,” Continue").click
- ie.text_field(:name,"p1000000e").set
(@mail_address)- ie.button(:name, “Continue").click
- ie.button(:name,” Continue").click
- ie=IE.attach(:title, “Account Services")
- ie.goto ("http://login.live-int
.com/logout.srf?")- ie.close
上面這段腳本主要做的事情就是通過‘goto‘語句來到一個(gè)測(cè)試passport的注冊(cè)站點(diǎn),然后通過查找指定頁面元素的填上所需要的信息例如用戶名,密碼等,在通過點(diǎn)擊幾次確定以后,就完成注冊(cè),其間用puts語句在屏幕上打印注冊(cè)完成所用的用戶名和密碼。腳本中#后面的綠色語句都是注釋。通過這個(gè)例子可以很直觀的看到Ruby Watirr用來做web測(cè)試的易用性,而且語句非常接近自然語言,十分容易上手。
對(duì)象的識(shí)別、操作和自動(dòng)驗(yàn)證
Ruby 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è)。
知識(shí)背景
編寫Ruby Watir腳本時(shí)為了確定頁面上的元素,需要察看網(wǎng)頁的源文件,所以在編寫watir自動(dòng)化測(cè)試腳本僅僅需要了解HTML的基礎(chǔ)知識(shí)和基本編程基礎(chǔ)。為了方便查找和定義頁面元素可以安裝IE Developer Toolbar, 這個(gè)工具可以幫你輕松定位網(wǎng)頁上的每個(gè)元素。下載地址可以從微軟網(wǎng)站上去找。
網(wǎng)頁題目:RubyWatir提供WEB對(duì)象支持
鏈接URL:http://fisionsoft.com.cn/article/djphosj.html


咨詢
建站咨詢
