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類測(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