資源描述:
《selenium論述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Web系統(tǒng)功能測(cè)試工具:SeleniumSelenium是ThoughtWorks專(zhuān)門(mén)為Web應(yīng)用而開(kāi)發(fā)的功能測(cè)試工具。Selenium使用JavaScript和Iframes在瀏覽器嵌入自動(dòng)化測(cè)試引擎,可以在任何支持JavaScript的瀏覽器中進(jìn)行工作,模擬用戶在瀏覽器中進(jìn)行的操作。1.Selenium的優(yōu)勢(shì):(1)它是開(kāi)源的(2)簡(jiǎn)單,易于安裝,易于工作(3)seleniumide是selenium的唯一可以在瀏覽器窗口上記錄用戶行為的組件(4)除了火狐上的事件外不會(huì)記錄你電腦上的任何其他事件(5)Selenium支持多
2、種瀏覽器,能夠運(yùn)行與多種操作系統(tǒng),因此更容易幫助測(cè)試人員發(fā)現(xiàn)應(yīng)用程序在不同瀏覽器上的兼容性問(wèn)題。通過(guò)在不同瀏覽器中運(yùn)行測(cè)試,更容易發(fā)現(xiàn)瀏覽器的不兼容性;(6)通過(guò)編寫(xiě)模仿用戶操作的Selenium測(cè)試腳本,可以從終端用戶的角度來(lái)測(cè)試應(yīng)用程序;可以操作Web頁(yè)面上的各種元素,諸如:點(diǎn)擊按鈕、輸入文本框,以及斷言Web頁(yè)面上存在某些文本與Web元素等。(7)提供SeleniumIDE,一個(gè)FireFoxplugin,能自動(dòng)記錄用戶的操作,生成測(cè)試腳本。生成的測(cè)試腳本可以用SeleniumCore手工執(zhí)行,也能基于SeleniumRC放入
3、Java,C#,Ruby的單元測(cè)試用例中自動(dòng)運(yùn)行;????(8)測(cè)試用例調(diào)用實(shí)際的瀏覽器(如IE、FireFox)來(lái)執(zhí)行測(cè)試。和有些開(kāi)源方案自行實(shí)現(xiàn)Web解釋引擎相比,實(shí)際的瀏覽器能模擬更多用戶交互和JS語(yǔ)法。????(9)SELENIUM錄制的腳本比較靈活,因?yàn)樗傻氖荘ERL的腳本程序。作為幾乎最為強(qiáng)大和最廣泛使用語(yǔ)言之一,PERL這種程序給予我最大的靈活性和控制度。2.版本(1)SeleniumIDE:是一個(gè)測(cè)試集成開(kāi)發(fā)環(huán)境,是Firefox的附加組件,結(jié)合Firefox可以實(shí)現(xiàn)錄制、編輯和調(diào)試測(cè)試腳本,并在瀏覽器中模擬
4、用戶真實(shí)操作進(jìn)行回放。SeleniumIDE不只是錄制工具:是完整的IDE??梢凿浿疲蛘呤止?xiě)腳本。??(2)SeleniumCore:使用SeleniumCore,需要部署到web服務(wù)器上,才可以測(cè)試。這說(shuō)明,使用SeleniumCore(使用純DHTML/JavaScript)不能編寫(xiě)測(cè)試比如google.com。因?yàn)镾eleniumCore是純DHTML/JavaScript的,受到客戶端JavaScript的安全限制。這是JavaScript安全需求。如果不能修改要測(cè)試的webserer,SeleniumCore不是合適的
5、測(cè)試工具。需要使用SeleniumIDE或者SeleniumRC替代。(3)SeleniumRC:即SeleniumRemoteControl。SeleniumRC提供了一個(gè)代理服務(wù)器,比如可以讓瀏覽器以為是在執(zhí)行。SeleniumRC允許用程序語(yǔ)言編寫(xiě)測(cè)試用例,比如Jave,Ruby等。這樣做的好處是,可以把Selenium和其他測(cè)試框架,比如Junit集成,進(jìn)行集成測(cè)試。SeleniumRC比其他包要大,主要包含了下面幾部分:a.Selenium核心。b.SeleniumServer運(yùn)行時(shí)環(huán)境。c.Selenium提供的針對(duì)各種語(yǔ)
6、言的開(kāi)發(fā)接口。Selenium核心和Server運(yùn)行時(shí)環(huán)境都放在selenium-server.jar中。SeleniumRC提供的應(yīng)用程序接口主要有下面幾種語(yǔ)言,Java,Ruby,Php,Phthon,Perl,.Net(4)4.SeleniumGrid:允許同時(shí)并行地、在不同的環(huán)境上運(yùn)行多個(gè)測(cè)試任務(wù),極大地加快Web應(yīng)用的功能測(cè)試。3.可實(shí)現(xiàn)的操作Selenium命令分成兩類(lèi)——操作(action)和斷言(assertion):????(1)操作模擬用戶與Web應(yīng)用程序的交互。例如,單擊一個(gè)按鈕和填寫(xiě)一個(gè)表單,這些都是常見(jiàn)的
7、用戶操作,可以用Selenium命令來(lái)自動(dòng)化這些操作。???(2)斷言驗(yàn)證一個(gè)命令的預(yù)期結(jié)果。常見(jiàn)的斷言包括驗(yàn)證頁(yè)面內(nèi)容或當(dāng)前位置是否正確。在Selenium網(wǎng)站上可以找到可用命令的完整列表。通過(guò)Selenium命令,腳本編寫(xiě)者可以描述browserbot在瀏覽器中所執(zhí)行的操作。(3)讀文件和寫(xiě)文件,查詢數(shù)據(jù)庫(kù),和email測(cè)試結(jié)果:易于執(zhí)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試我們可以讀文件來(lái)獲取測(cè)試數(shù)據(jù)我們可以將測(cè)試結(jié)果存儲(chǔ)到文件中4.Selenium工作原理Selenium不同于一般的測(cè)試工具。一般的腳本測(cè)試工具錄制腳本,實(shí)際上都是通過(guò)攔截瀏
8、覽器收發(fā)的http請(qǐng)求來(lái)實(shí)現(xiàn)的。事實(shí)上并沒(méi)有辦法錄制用戶對(duì)html頁(yè)面的操作。當(dāng)然,對(duì)那些執(zhí)行壓力測(cè)試的工具來(lái)說(shuō),這類(lèi)模擬已經(jīng)足夠。Selenium的腳本錄制工具是通過(guò)監(jiān)聽(tīng)用戶對(duì)html頁(yè)面的操作來(lái)錄制腳本的。Selen