:::
所有書籍
「Selenium」目錄
MarkDown
6. 深入瞭解Selenium RC工作原理(1)
前言
1. Selenium簡介
2. XPath的使用【ZZ】
3. Selenium API參考手冊【ZZ】
4. Selenium IDE的使用
5. 第一個Selenium RC測試案例
6. 深入瞭解Selenium RC工作原理(1)
7. 深入瞭解Selenium RC工作原理(2)
8. 玩轉Selenium Server
9. Selenium RC服務器命令行參數列表【ZZ】
8. 玩轉Selenium Server
Selenium ======== 繼續前一篇的問題,為什麼Selenium RC中的Selenium Server需要以這種代理服務器的形式存在?其實,這和瀏覽器的「同源策略」(The Same Origin Policy)有關。 **
一.什麼是同源策略
** ---------------------------------------------------------------------------------------------
**同源策略**
,它是由Netscape提出的一個著名的安全策略,現在所有的可支持javascript的瀏覽器都會使用這個策略。 **為什麼需要同源策略**,這裡舉個例子: 假設現在沒有同源策略,會發生什麼事情呢?大家知道,JavaScript可以做很多東西,比如:讀取/修改網頁中某個值。恩,你現在打開了瀏覽器,在一 個tab窗口中打開了銀行網站,在另外一個tab窗口中打開了一個惡意網站,而那個惡意網站掛了一個的專門修改銀行信息的JavaScript,當你訪問 這個惡意網站並且執行它JavaScript時,你的銀行頁面就會被這個JavaScript修改,後果會非常嚴重!而同源策略就為了防止這種事情發生, 看下圖: ![](http://pic002.cnblogs.com/img/hyddd/200905/2009053016371138.jpg) 比如說,瀏覽器的兩個tab頁中分別打開
了
[
http://
](http://www.baidu.com/index.html)[
www.baidu.com
](http://www.baidu.com)
/index.html和http://
[
www.google.com
](http://www.google.com)
/index.html,其中,JavaScript1和JavaScript3是屬於百度的腳本,而JavaScript2是屬於谷歌的腳本,當瀏覽器的tab1要運行一個腳本時,便會進行同源檢查,只有和
[
www.baidu.com
](http://www.baidu.com)
同
源的腳本才能被執行,所謂
**同源**
,就是指域名、協議、端口相同。所以,tab1只能執行JavaScript1和JavaScript3腳本,而JavaScript2不能執行,從而防止其他網頁對本網頁的非法篡改。 **
二.Selenium Server為什麼以這種代理服務器的形式存在
** --------------------------------------------------------------------------------- 上面說了同源策略,那同源策略的Selenium Server有什麼關係呢??呵呵,上一篇說過,Selenium Core是一堆JS函數的集合,它是我們操作瀏覽器的基礎。當存在同源策略時,便出現一些問題,看下圖: ![](http://pic002.cnblogs.com/img/hyddd/200905/2009053016373392.jpg) 因為Selenium Core的JS腳本的「源」是localhost,所以瀏覽器會阻止Selenium Core的JS腳本在測試頁面上執行,這就是為什麼在本系列第一篇中說,如果只使用Selenium Core進行測試,需要把Selenium Core安裝到遠程服務器上。 為瞭解決上面這個問題,Selenium RC中的Selenium Server就以代理服務器的形式出現了,下圖說明它是如何借助代理的身份矇騙瀏覽器的:> [![](http://pic002.cnblogs.com/img/hyddd/200905/2009053016375617.jpg)](http://images.cnblogs.com/cnblogs_com/hyddd/WindowsLiveWriter/Selenium7SeleniumRC2_CC96/3_2.jpg) Selenium Server以代理的形式存在,通過修改WebSite的源信息,從而達到欺騙瀏覽器的目的,就這樣,Selenium RC就輕鬆繞過了同源策略。在上圖中,瀏覽器會認為WebSite和Selenium Core來自同一個「源」----代理服務器!
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
32
人線上 (
17
人在瀏覽
線上書籍
)
會員: 0
訪客: 32
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入