Selenium是一個用于Web應(ying)用程序測(ce)試(shi)(shi)的(de)工(gong)具。Selenium測(ce)試(shi)(shi)直接(jie)運行在瀏(liu)(liu)覽(lan)器(qi)中,就像(xiang)真正的(de)用戶在操作一樣。支持的(de)瀏(liu)(liu)覽(lan)器(qi)包括(kuo)IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。這(zhe)個工(gong)具的(de)主要功(gong)能(neng)包括(kuo):測(ce)試(shi)(shi)與瀏(liu)(liu)覽(lan)器(qi)的(de)兼容性——測(ce)試(shi)(shi)應(ying)用程序看是否能(neng)夠很好得工(gong)作在不同瀏(liu)(liu)覽(lan)器(qi)和操作系統之上。測(ce)試(shi)(shi)系統功(gong)能(neng)——創(chuang)建回歸(gui)測(ce)試(shi)(shi)檢驗軟(ruan)件(jian)功(gong)能(neng)和用戶需求。支持自動錄制動作和自動生成.Net、Java、Perl等不同語言的(de)測(ce)試(shi)(shi)腳本。
2004年,Thoughtworks的員工Jason Huggins編寫了一個名為JavaScriptTestRunner的測試(shi)工具(ju),并(bing)于(yu)當年向(xiang)多位同事展示,該工具(ju)進一步進化為一個可以復(fu)用的測試(shi)框架并(bing)開源(yuan)。
同時Bea, Dan Fabulich和Nelson Sproul等人修改架(jia)構(gou)為獨(du)立服(fu)務模式,期間有多(duo)位開發(fa)人員加入開發(fa)并(bing)推出了(le)Selenium RC和Selenium-IDE。
Jason Huggins 2007年從Thoughtworks離職(zhi)并加入Selenium support團隊,同(tong)年Google多名(ming)員工加入開(kai)發,并在GTAC會議上介紹(shao)了(le)Selenium在Google的使用情況。
Selenium是一個(ge)成功的開源(yuan)軟件,其(qi)發展(zhan)獲得很多公司和獨立開發者的支持。
Selenium IDE:一(yi)個Firefox插件,可(ke)以(yi)錄制用戶(hu)的基(ji)本(ben)操作,生成測試(shi)用例(li)。隨后可(ke)以(yi)運行這些測試(shi)用例(li)在瀏覽器里回(hui)放,可(ke)將測試(shi)用例(li)轉(zhuan)換為其(qi)他(ta)語言的自動化腳本(ben)。
Selenium Remote Control (RC):支持(chi)多種平臺(Windows,Linux,Solaris)和多種瀏覽器(IE,Firefox,Opera,Safari),可(ke)以(yi)用多種語言(Java,Ruby,Python,Perl,PHP,C#)編寫測(ce)試用例。
Selenium Grid:允許Selenium-RC針對規模龐大(da)的測試案(an)(an)例集或(huo)者需要在不同環境中運行(xing)的測試案(an)(an)例集進行(xing)擴展。
能把Selenium RC腳(jiao)本和(he)JUnit單(dan)元測試結合起(qi)來,既能涵(han)蓋(gai)功能測試,又能涵(han)蓋(gai)數據或后臺Java類測試,從(cong)而構成一個完整的Web應用測試解(jie)決(jue)方案。
首先安裝JRE,從官網(文后參考資料)下載Selenium RC的程序(xu)Jar包(bao),存放在硬盤(pan)的某個目錄中,如E:/Selenium/。
啟動(dong)Selenium RC服務,啟動(dong)cmd模式,進入到selenium RC所在的目錄后(hou)(hou),輸入:java -jar selenium-server.jar。啟動(dong)完(wan)成(cheng)后(hou)(hou),可以看到以下信息,即表(biao)示(shi)啟動(dong)成(cheng)功(gong)。
框架底(di)層使(shi)用JavaScript模(mo)擬真(zhen)(zhen)實(shi)(shi)用戶對瀏(liu)覽(lan)器進行(xing)操作。測試腳本執行(xing)時,瀏(liu)覽(lan)器自(zi)動按照(zhao)腳本代碼做出點擊,輸入,打開,驗證等操作,就像(xiang)真(zhen)(zhen)實(shi)(shi)用戶所做的(de)一樣(yang),從終端(duan)用戶的(de)角度測試應用程序。
使瀏覽(lan)(lan)器(qi)兼容性(xing)測試自動化成為可能(neng),盡管在(zai)不同的瀏覽(lan)(lan)器(qi)上依然(ran)有細微的差別。
使(shi)用(yong)簡單,可使(shi)用(yong)Java,Python等多(duo)種語言編寫(xie)用(yong)例腳本。
據Selenium主頁所說,與其他(ta)測試工具相比,使用(yong)Selenium的最大好處是:
Selenium測試(shi)(shi)(shi)直接在(zai)(zai)瀏覽器中運行(xing),就像真實用戶(hu)所做的(de)一樣(yang)。Selenium測試(shi)(shi)(shi)可(ke)以在(zai)(zai)Windows、Linux和Macintosh上的(de)Internet Explorer、Chrome和Firefox中運行(xing)。其(qi)他測試(shi)(shi)(shi)工具都不能覆蓋如此多的(de)平臺。使用Selenium和在(zai)(zai)瀏覽器中運行(xing)測試(shi)(shi)(shi)還有很多其(qi)他好處。
Selenium完全開源,對商業用戶也(ye)沒有(you)任何限制,支持分布式,擁有(you)成熟的社(she)區與學習文檔(dang)
下面是(shi)主要(yao)的幾大好處:
通過編(bian)(bian)寫(xie)模仿用戶(hu)操作的(de)Selenium測試(shi)(shi)腳(jiao)本,可(ke)以從終端(duan)用戶(hu)的(de)角(jiao)度(du)來測試(shi)(shi)應用程序。通過在不(bu)同(tong)瀏覽(lan)器(qi)(qi)中運(yun)行測試(shi)(shi),更容(rong)易發(fa)現瀏覽(lan)器(qi)(qi)的(de)不(bu)兼容(rong)性。Selenium的(de)核心,也稱(cheng)browser bot,是用JavaScript編(bian)(bian)寫(xie)的(de)。這使得測試(shi)(shi)腳(jiao)本可(ke)以在受(shou)(shou)支持的(de)瀏覽(lan)器(qi)(qi)中運(yun)行。browser bot負責執(zhi)行從測試(shi)(shi)腳(jiao)本接(jie)收到(dao)的(de)命令,測試(shi)(shi)腳(jiao)本要么(me)是用HTML的(de)表布局編(bian)(bian)寫(xie)的(de),要么(me)是使用一種受(shou)(shou)支持的(de)編(bian)(bian)程語言編(bian)(bian)寫(xie)的(de)。
Selenium 2.0適(shi)用于以下瀏覽器:
Google Chrome
Internet Explorer 7, 8, 9, 10, 11
Firefox
Safari
Opera
Edge
HtmlUnit
phantomjs
Android
iOS