功能
•框架底層使用JavaScript模擬真實用戶對瀏覽器進行操作。測試腳本執行時,瀏覽器自動按照腳本代碼做出點擊,輸入,打開,驗證等操作,就像真實用戶所做的一樣,從終端用戶的角度測試應用程式。
•使瀏覽器兼容性測試自動化成為可能,儘管在不同的瀏覽器上依然有細微的差別。
•使用簡單,可使用Java,Python等多種語言編寫用例腳本。
優勢
據 Selenium 主頁所說,與其他測試工具相比,使用 Selenium 的最大好處是:
Selenium 測試直接在瀏覽器中運行,就像真實用戶所做的一樣。Selenium 測試可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中運行。其他測試工具都不能覆蓋如此多的平台。使用 Selenium 和在瀏覽器中運行測試還有很多其他好處。
下面是主要的兩大好處:
通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應用程式。通過在不同瀏覽器中運行測試,更容易發現瀏覽器的不兼容性。Selenium 的核心,也稱 browser bot,是用 JavaScript 編寫的。這使得測試腳本可以在受支持的瀏覽器中運行。browser bot 負責執行從測試腳本接收到的命令,測試腳本要么是用 HTML 的表布局編寫的,要么是使用一種受支持的程式語言編寫的。
Selenium 2.0適用於以下瀏覽器 :
•Google Chrome
•Internet Explorer 7, 8, 9, 10, 11
•Firefox
•Safari
•Opera
•HtmlUnit
•phantomjs
•Android
•iOS
Selenium 1.0適用於以下瀏覽器:
Browser | Selenium IDE | Selenium Remote Control | Selenium Core | Selenium 2/Webdriver API |
Firefox 10 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 9 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 8 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 7 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 6 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 5 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 4 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 3.6 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 3 | Record and playback tests | Start browser, run tests | Run tests | not supported |
IE 9 | not supported | Start browser, run tests | Run tests | Run tests |
IE 8 | not supported | Start browser, run tests | Run tests | Run tests |
IE 7 | not supported | Start browser, run tests | Run tests | Run tests |
Safari 3 | not supported | Start browser, run tests | Run tests | not supported |
Safari 2 | not supported | Start browser, run tests | Run tests | not supported |
Opera 9 | not supported | Start browser, run tests | Run tests | Run tests |
Opera 8 | not supported | Start browser, run tests | Run tests | Run tests |
Chrome | not supported | Start browser, run tests*** | Run tests*** | Run tests*** |
Others | not supported | Partial support possible* | Run tests** | not supported |
發展歷史
2004年,Thoughtworks的員工Jason Huggins編寫了一個名為JavaScriptTestRunner的測試工具 ,並於當年向多位同事展示,該工具進一步進化為一個可以復用的測試框架並開源。
同時Bea, Dan Fabulich和Nelson Sproul等人修改架構為獨立服務模式,期間有多位開發人員加入開發並推出了Selenium RC和Selenium-IDE。
Jason Huggins 2007年從Thoughtworks離職並加入Selenium support團隊,同年Google多名員工加入開發,並在GTAC 會議上介紹了Selenium在Google的使用情況。
Selenium是一個成功的開源軟體,其發展獲得很多公司和獨立開發者的支持 。
組件
•Selenium IDE:一個Firefox外掛程式,可以錄製用戶的基本操作,生成測試用例。隨後可以運行這些測試用例在瀏覽器里回放,可將測試用例轉換為其他語言的自動化腳本。
•Selenium Remote Control (RC) :支持多種平台(Windows,Linux,Solaris)和多種瀏覽器(IE,Firefox,Opera,Safari),可以用多種語言(Java,Ruby,Python,Perl,PHP,C#)編寫測試用例。
•Selenium Grid :允許Selenium-RC 針對規模龐大的測試案例集或者需要在不同環境中運行的測試案例集進行擴展。
使用
能把Selenium RC腳本和JUnit單元測試結合起來,既能涵蓋功能測試,又能涵蓋數據或後台Java類測試,從而構成一個完整的Web套用測試解決方案。
首先要安裝JRE,從官網(文後參考資料)下載Selenium RC的程式Jar包,存放在硬碟的某個目錄中,如E:/Selenium/ 。
啟動Selenium RC服務,啟動cmd模式,進入到selenium RC所在的目錄後,輸入: java -jar selenium-server.jar 。啟動完成後,可以看到以下信息,即表示啟動成功。