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