您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium私房菜系列全集
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/28 13:48:19 ] 推薦標(biāo)簽:

深入了解Selenium RC工作原理

  前一篇已經(jīng)比較詳細(xì)講述了如何使用Selenium RC進(jìn)行Web測(cè)試,但到底Selenium RC是什么?或者它由哪幾部分組成呢??

一.Selenium RC的組成:

關(guān)于這個(gè)問題,我拿了官網(wǎng)上的一幅圖來說明這個(gè)問題。

 

Selenium RC主要由兩部分組成:

(1).Selenium Server:

Selenium Server負(fù)責(zé)控制瀏覽器行為,總的來說,Selenium Server主要包括3個(gè)部分:Launcher,Http Proxy,Selenium Core。其中Selenium Core是被Selenium Server嵌入到瀏覽器頁面中的。其實(shí)Selenium Core是一堆JS函數(shù)的集合,是通過這些JS函數(shù),我們才可以實(shí)現(xiàn)用程序?qū)g覽器進(jìn)行操作。

(2).Client Libraries:

寫測(cè)試案例時(shí)用來控制Selenium Server的庫(kù)。

二.Selenium RC與Testcase的關(guān)系

先看下圖:

(1).測(cè)試案例(Testcase)通過Client Lib的接口向Selenium Server發(fā)送Http請(qǐng)求,要求和Selenium Server建立連接。

為什么要通過發(fā)送Http請(qǐng)求控制Selenium Server而不采用其他方式呢?從上文可以看出,Selenium Server是一個(gè)獨(dú)立的中間服務(wù)器(確切地說是代理服務(wù)器),它可以架設(shè)在其他機(jī)器上!所以測(cè)試案例通過發(fā)送HTTP請(qǐng)求去控制Selenium Server是很正常的。

(2).Selenium Server的Launcher啟動(dòng)瀏覽器,把Selenium Core加載入瀏覽器頁面當(dāng)中,并把瀏覽器的代理設(shè)置為Selenium Server的Http Proxy。

(3).測(cè)試案例通過Client Lib的接口向Selenium Server發(fā)送Http請(qǐng)求,Selenium Server對(duì)請(qǐng)求進(jìn)行解析,然后通過Http Proxy發(fā)送JS命令通知Selenium Core執(zhí)行操作瀏覽器的動(dòng)作。

(4).Selenium Core接收到指令后,執(zhí)行操作。

(5).瀏覽器收到新的頁面請(qǐng)求信息(因?yàn)樵?4)中,Selenium Core的操作可能引發(fā)新的頁面請(qǐng)求),于是發(fā)送Http請(qǐng)求,請(qǐng)求新的Web頁面。
由于Selenium Server在啟動(dòng)瀏覽器時(shí)做了手腳,所以Selenium Server會(huì)接收到所有由它啟動(dòng)的瀏覽器發(fā)送的請(qǐng)求。

(6).Selenium Server接收到瀏覽器的發(fā)送的Http請(qǐng)求后,自己重組Http請(qǐng)求,獲取對(duì)應(yīng)的Web頁面。

(7).Selenium Server的Http Proxy把接收的Web頁面返回給瀏覽器。

為什么Selenium RC中的Selenium Server需要以這種代理服務(wù)器的形式存在呢?

上一頁12345678910下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd