說明:客戶端庫文件將命令傳遞給server。接着server使用selenium-core的javaScript命令傳遞給瀏覽器,瀏覽器會使用自帶的javaScript翻譯器來執行selenium命令。這意味着測試腳本中的selenium操做和驗證將被執行。html
*:不少博客寫的都很好,基本上能夠直接參考學習(http://www.cnblogs.com/fnng/archive/2012/02/01/2335215.html)java
(1)同源規則web
在瀏覽器中打開的不一樣界面不能相互做用。Selenium Server用來回避這一個問題,讓瀏覽器覺得本身在server提供的單一站點上工做。瀏覽器
同源:相同的協議,端口,域名服務器
(2)代理注入架構
Selenium用來規避同源規則的第一種方法就是代理注入。框架
Selenium server 像客戶端配置的HTTP代理同樣工做,位於系統和瀏覽器之間。學習
瀏覽器啓動時,使用配置的profile,其中已經設置localhost 4444做爲HTTP代理,這就是爲何來自瀏覽器的HTTP請求都會通過selenium server並且HTTP響應也來自selenium server而非真實的服務器。測試
(3)提升瀏覽器權限spa
高特權模式,它容許瀏覽器作一些一般不被容許的事情,如XXS。經過該模式,selenium core能夠直接帶卡待測系統,並讀取和操做其中的內容,而不須要經過Selenium RC Server 來傳遞整個待測系統。
webdriver使用不一樣的底層框架,Selenium 遙控器使用JavaScript的Selenium 核嵌入式已經在有必定的侷限性的瀏覽器中。 webdriver直接交互而不與Selenium 遠程控制,依賴於服務器上的任何中介的瀏覽器。