一.Selenium是什么?
Selenium是ThroughtWorks公司一個(gè)強(qiáng)大的開源Web功能測(cè)試工具系列,本系列現(xiàn)在主要包括以下4款:
1.SeleniumCore:支持DHTML的測(cè)試案例(效果類似數(shù)據(jù)驅(qū)動(dòng)測(cè)試),它是SeleniumIDE和SeleniumRC 的引擎。
2.SeleniumIDE:FireFox的一個(gè)插件,支持腳本錄制。
3.SeleniumRC:SeleniumRemoteControl。后續(xù)的系列文章我會(huì)主要針對(duì)SeleniumRC展開介紹。
4.SeleniumGrid:允許同時(shí)并行地、在不同的環(huán)境上運(yùn)行多個(gè)測(cè)試任務(wù),極大地加快Web應(yīng)用的功能測(cè)試。
二.選擇合適的Selenium工具
既然Selenium工具有4款這么多,那到底如何選擇呢??我從"Selenium官網(wǎng)"這里找了一個(gè)表:
Selenium IDE Selenium Remote Control Selenium CoreHTA
Control Core
瀏覽器支持 僅Firefox 很多 所有 僅IE
需要遠(yuǎn)程安裝 否 否 是 否
支持HTTPS/SSL 是 是* 是 是
支持跨域 是 是* 否 是
需要Java 否 是 否 否
測(cè)試結(jié)果保存到磁盤是 是 否 是
多語(yǔ)言支持 僅Selenese 很多 僅Selenese 僅Selenese
這里沒(méi)有介紹SeleniumGrid,但介紹了另外一個(gè)SeleniumCoreHTA,
SeleniumCoreHTA其實(shí)是SeleniumCore的額外模式,你只要SeleniumCore配置稍
加修改,即為HTA模式,SeleniumCoreHTA可以在IE高安全等級(jí)(特權(quán))下工作,
這意味著它僅能在IE下工作,由于限制較大,下面將排除對(duì)SeleniumCoreHTA的討論。
1.瀏覽器支持:
(1).SeleniumIDE僅可以在Firefox中工作。
(2).SeleniumRemoteControl支持很多瀏覽器,包括常用的:firefox,ie,safari等N款瀏覽器。
(3).SeleniumCore支持的瀏覽器是廣的,這點(diǎn)和它的實(shí)現(xiàn)有關(guān)。
作為IDE和RC的引擎,SeleniumCore幾乎可以在任何瀏覽器中工作。
2.需要遠(yuǎn)程安裝:是否需要在被測(cè)網(wǎng)站的服務(wù)端安裝?
SeleniumIDESelenium RemoteControl Selenium Core SeleniumCoreHTA瀏覽器支持僅Firefox很多所有僅
IE需要遠(yuǎn)程安裝 否 否是否支持HTTPS/SSL是是*是是支持跨域是是*否是需要Java 否 是否否將測(cè)試結(jié)果保存到磁盤
是否是多語(yǔ)言支持 僅Selenese 很多 僅Selenese僅Selenese 這里只有SeleniumCore需要,這是出于同源策略的
原因。這也是SeleniumCore一個(gè)很大的限制,試問(wèn),如果你要測(cè)試Google.com,還得在google的服務(wù)器上裝一個(gè)
SeleniumCore,那是多搞笑的一件事。 而SeleniumIDE和SeleniumCoreHTA不會(huì)被同源策略所限制,因?yàn)樗麄儗?duì)
瀏覽器擴(kuò)展了。 SeleniumRC提供一個(gè)代碼服務(wù)器來(lái)保證SeleniumJS文件看似來(lái)自相同的遠(yuǎn)程服務(wù)器,從而符合同源
策略;代理服務(wù)器欺騙瀏覽器,讓它認(rèn)為這里的確有像http://www.google.com/selenium/這樣的目錄。