Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中,,就像真正的用戶在操作一樣,。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,,Safari,,Google Chrome,Opera,,Edge等,。這個(gè)工具的主要功能包括:測(cè)試與瀏覽器的兼容性——測(cè)試應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測(cè)試系統(tǒng)功能——?jiǎng)?chuàng)建回歸測(cè)試檢驗(yàn)軟件功能和用戶需求,。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成.Net,、Java、Perl等不同語(yǔ)言的測(cè)試腳本,。
2004年,,Thoughtworks的員工Jason Huggins編寫(xiě)了一個(gè)名為JavaScriptTestRunner的測(cè)試工具,并于當(dāng)年向多位同事展示,,該工具進(jìn)一步進(jìn)化為一個(gè)可以復(fù)用的測(cè)試框架并開(kāi)源,。
同時(shí)Bea, Dan Fabulich和Nelson Sproul等人修改架構(gòu)為獨(dú)立服務(wù)模式,期間有多位開(kāi)發(fā)人員加入開(kāi)發(fā)并推出了Selenium RC和Selenium-IDE,。
Jason Huggins 2007年從Thoughtworks離職并加入Selenium support團(tuán)隊(duì),,同年Google多名員工加入開(kāi)發(fā),并在GTAC會(huì)議上介紹了Selenium在Google的使用情況,。
Selenium是一個(gè)成功的開(kāi)源軟件,,其發(fā)展獲得很多公司和獨(dú)立開(kāi)發(fā)者的支持。
Selenium IDE:一個(gè)Firefox插件,,可以錄制用戶的基本操作,生成測(cè)試用例,。隨后可以運(yùn)行這些測(cè)試用例在瀏覽器里回放,,可將測(cè)試用例轉(zhuǎn)換為其他語(yǔ)言的自動(dòng)化腳本。
Selenium Remote Control (RC):支持多種平臺(tái)(Windows,,Linux,,Solaris)和多種瀏覽器(IE,F(xiàn)irefox,,Opera,,Safari),,可以用多種語(yǔ)言(Java,Ruby,,Python,,Perl,PHP,,C#)編寫(xiě)測(cè)試用例,。
Selenium Grid:允許Selenium-RC針對(duì)規(guī)模龐大的測(cè)試案例集或者需要在不同環(huán)境中運(yùn)行的測(cè)試案例集進(jìn)行擴(kuò)展。
能把Selenium RC腳本和JUnit單元測(cè)試結(jié)合起來(lái),,既能涵蓋功能測(cè)試,,又能涵蓋數(shù)據(jù)或后臺(tái)Java類(lèi)測(cè)試,從而構(gòu)成一個(gè)完整的Web應(yīng)用測(cè)試解決方案,。
首先安裝JRE,,從官網(wǎng)(文后參考資料)下載Selenium RC的程序Jar包,存放在硬盤(pán)的某個(gè)目錄中,,如E:/Selenium/,。
啟動(dòng)Selenium RC服務(wù),啟動(dòng)cmd模式,,進(jìn)入到selenium RC所在的目錄后,,輸入:java -jar selenium-server.jar。啟動(dòng)完成后,,可以看到以下信息,,即表示啟動(dòng)成功。
框架底層使用JavaScript模擬真實(shí)用戶對(duì)瀏覽器進(jìn)行操作,。測(cè)試腳本執(zhí)行時(shí),,瀏覽器自動(dòng)按照腳本代碼做出點(diǎn)擊,輸入,,打開(kāi),,驗(yàn)證等操作,就像真實(shí)用戶所做的一樣,,從終端用戶的角度測(cè)試應(yīng)用程序,。
使瀏覽器兼容性測(cè)試自動(dòng)化成為可能,盡管在不同的瀏覽器上依然有細(xì)微的差別,。
使用簡(jiǎn)單,,可使用Java,Python等多種語(yǔ)言編寫(xiě)用例腳本,。
據(jù)Selenium主頁(yè)所說(shuō),,與其他測(cè)試工具相比,使用Selenium的最大好處是:
Selenium測(cè)試直接在瀏覽器中運(yùn)行,就像真實(shí)用戶所做的一樣,。Selenium測(cè)試可以在Windows,、Linux和Macintosh上的Internet Explorer、Chrome和Firefox中運(yùn)行,。其他測(cè)試工具都不能覆蓋如此多的平臺(tái),。使用Selenium和在瀏覽器中運(yùn)行測(cè)試還有很多其他好處。
Selenium完全開(kāi)源,,對(duì)商業(yè)用戶也沒(méi)有任何限制,,支持分布式,擁有成熟的社區(qū)與學(xué)習(xí)文檔
下面是主要的幾大好處:
通過(guò)編寫(xiě)模仿用戶操作的Selenium測(cè)試腳本,,可以從終端用戶的角度來(lái)測(cè)試應(yīng)用程序,。通過(guò)在不同瀏覽器中運(yùn)行測(cè)試,更容易發(fā)現(xiàn)瀏覽器的不兼容性,。Selenium的核心,,也稱browser bot,是用JavaScript編寫(xiě)的,。這使得測(cè)試腳本可以在受支持的瀏覽器中運(yùn)行,。browser bot負(fù)責(zé)執(zhí)行從測(cè)試腳本接收到的命令,測(cè)試腳本要么是用HTML的表布局編寫(xiě)的,,要么是使用一種受支持的編程語(yǔ)言編寫(xiě)的,。
Selenium 2.0適用于以下瀏覽器:
Google Chrome
Internet Explorer 7, 8, 9, 10, 11
Firefox
Safari
Opera
Edge
HtmlUnit
phantomjs
Android
iOS