selenium 由幾個工具組成,每一個工具都有格子的特色和應用場景html
selenium IDEjava
selenium IDE 是嵌入到Firefox瀏覽器中的一個插件,實現簡單的瀏覽器操做的錄製與回放功能。何時使用它呢?編程
快速的建立bug重現腳本,在測試過程當中,發現了bug以後能夠經過IDE將重現的步驟錄製下來,更容易bug重現。windows
selenium Grid瀏覽器
selenium Grid是一種自動化的測試輔助工具,Grid經過利用現有的計算機基礎設施,加快Web-app的功能測試。利用Grid,能夠方便地同時在多臺機器上和異構環境中運行多個測試用例。其特色:安全
1.並行運行服務器
2.經過一個主機統一控制用例在不一樣環境,不一樣瀏覽器下運行。app
3.靈活添加變更測試機函數
selenium RC工具
selenium RC是selenium家族的核心工具,selenium RC 支持多種不一樣的語言編寫自動化測試腳本,經過selenium RC 的服務器做爲代理服務器去訪問應用從而到測試的目的。
selenium RC 使用分Client Libraries 和selenium Server,Client Libraries 庫主要用於編寫腳本,用來控制 selenium Server的庫。
selenium sever負責控制瀏覽器行爲,總的來講,selenium server主要包括3部分:Launcher,Http Proxy,Core 。
1.selenium Core是被Selenium server 嵌入到瀏覽器頁面中。其實Selenium Core就是一堆JS函數的集合,就是經過這些JS函數, 才能夠實現用程序對瀏覽器進行操做。
2.Launcher用於啓動瀏覽器,把selenium Core 加載到瀏覽器頁面中,並把瀏覽器代理設置爲Selenium server 的Http Proxy。
Selenium2.0
selenium2.0 是在selenium1.0 的基礎上添加了Web Driver。
即:
selenium2.0 = selenium1.0+Web Driver
強調一下:在selenium2.0中主推的是Web Driver,Web Driver是selenium RC的替代品,由於selenium爲了向下兼容性,因此selenium RC並無完全拋棄,若是使用selenium 開發一個新自動化測試項目,推薦使用Web Driver。
Web Driver 和selenium RC 的卻別,selenium RC在瀏覽器中運行Javascript應用,使用瀏覽器內置的Javascript翻譯器來翻譯和執行selenese命令(selenese是selenium命令集合)
Web Driver經過原生瀏覽器支持或者瀏覽器擴展直接控制瀏覽器。Web Driver針對各個瀏覽器而開發,取代了嵌入到被測Web應用中的Javascript。與瀏覽器的緊密集成支持建立高級的測試,避免了Javascript安全模型致使的限制。除了來之瀏覽器廠商的支持 ,Web Driver還利用操做系統級的調用模擬用戶輸入。因此是RC是過期的技術。
selenium3.0的變化
selenium3.0 去掉了selenium RC。
selenium3.0只支持Java8版本以上。若是使用java+selenium,那麼java jdk 必須升級到java8了。其餘語言能夠忽略這一點。或者可使用selenium Grid。
selenium3.0 中的Firefox 驅動獨立出來了,在selenium3.0以前,只要在不一樣的編程環境中安裝好selenium 就能夠驅動Firefox瀏覽器運行自動換測試腳本,由於不一樣的環境下selenium庫已經包含的了Firefox瀏覽器驅動。然而如今Firefox瀏覽器驅動與selenium庫分離,單獨下載。
geckodirver 驅動要求Friefox瀏覽器必須48版本以上。
Safari 使用蘋果公司的瀏覽器,它很早就是實現了多平臺支持,一樣能夠在windows下運行,它的驅動比較有意思,它是集成到selenium Server 中的。若是想讓自動化測試運行到Safari瀏覽器上的話, 必須使用Selenium Server。
借鑑於:http://www.cnblogs.com/fnng/p/3653793.html