溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Selenium1(Selenium RC)

發布時間:2020-06-26 13:40:06 來源:網絡 閱讀:1305 作者:13161670059 欄目:軟件技術

資源推薦:

視頻資源: 軟件測試相關系列視頻

社區資源: 自動化測試交流群



Selenium1(Selenium RC)

Selenium1組件

       Selenium Server, 負責啟動和關閉瀏覽器,以及解釋和運行從測試程序傳送過來的Selenese指令,并充當HTTP Proxy角色。

       Client開發庫,開發庫提供了編寫測試腳本的api,用于與Selenium Server進行指令交互。

Selenium1 Architecture

       為了能更好的理解Selenium RC Server是如何工作以及為什么要使用代理注入的方式完成測試指令執行,首先必須要理解的是“同源策略”(The Same Origin Policy)。

       The Same Origin Policy, 市場上所有瀏覽器之所以會應用這個策略,其目的是為了阻止來自其他站點的javascript訪問本站的web 信息,“同源策略”意思是瀏覽器僅執行當前訪問的域(domain)下的代碼,而不會執行來自其他站點的代碼,如果這種方式行的通的話,我們很多信息就很容易被跨站方式竊取,也就是常說的XSSCross-Site Scripting.

       所以Selenium CoreJavascript庫)想正確的在目標站點中執行Selenese指令,就必須將其與被測Web應用放置在同源位置。

       由于Selenium Corejavascript實現,所以它無法避免同源策略的限制,但是Selenium RC不受此限制,將Selenium RC作為一個代理來避免同源問題。

       關于同源策略及XSS的詳細信息,可以參考如下文章:Same Origin Policy , XSS

       Selenium1架構如下圖所示:

Selenium1(Selenium RC)

當我們執行一個測試的時候,會按如下步驟依次執行:

1.       客戶端(測試腳本)與SelenIum-RC建立一個連接。

2.       Selenium-RC啟動瀏覽器,并加載一個被注入了Selenium-Corejavascript的頁面,此時瀏覽器會加載一個默認的用戶配置,將瀏覽器代理設置為localhost:4444,其目的就是讓瀏覽器所有請求及服務器所有響應都通過這個代理服務進行轉發。

3.       客戶端開始發送指令到Selenium-RC Server

4.       Selenium-RC Server收到指令后進行解釋并觸發已注入的javascript執行指令。

5.       瀏覽器收到javascript指令后,相當于真實用戶與UI交互,并向HTTP Proxy發送Http請求。

6.       Selenium-RC Serverweb server交互,獲取到web server響應后,將其偽裝成與第二步加載的頁面看起來是來自同一個服務器,依次規避瀏覽器同源策略。

7.       瀏覽器收到響應內容后,進行渲染等操作。


點擊鏈接加入群【悅分享測試聯盟】:https://jq.qq.com/?_wv=1027&k=5DiePik


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女