Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1)

發表于:2011-09-30來源:未知作者:領測軟件測試網采編點擊數: 標簽:selenium
前一篇已經比較詳細講述了如何使用Selenium RC進行Web測試,但到底Selenium RC是什么?或者它由哪幾部分組成呢?? 一.Selenium RC的組成: 關于這個問題,我拿了官網上的一幅圖來說明這個問題。

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

  一.Selenium RC的組成:

  關于這個問題,我拿了官網上的一幅圖來說明這個問題。

Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) - swl632 - 我的<STRONG><A  target=博客" border="1" height="482" src="/uploads/allimg/110930/0934555431-0.jpg" width="661" />

  Selenium RC主要由兩部分組成:

  (1).Selenium Server:

Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) - swl632 - 我的博客

  Selenium Server負責控制瀏覽器行為,總的來說,Selenium Server主要包括3個部分:Launcher,Http Proxy,Selenium Core。其中Selenium Core是被Selenium Server嵌入到瀏覽器頁面中的。其實Selenium Core就是一堆JS函數的集合,就是通過這些JS函數,我們才可以實現用程序對瀏覽器進行操作。

  (2).Client Libraries:

  寫測試案例時用來控制Selenium Server的庫。

Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) - swl632 - 我的博客

  二.Selenium RC與Testcase的關系

  先看下圖:

Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1) - swl632 - 我的博客

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

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

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

  (3).測試案例通過Client Lib的接口向Selenium Server發送Http請求,Selenium Server對請求進行解析,然后通過Http Proxy發送JS命令通知Selenium Core執行操作瀏覽器的動作。

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

  (5).瀏覽器收到新的頁面請求信息(因為在(4)中,Selenium Core的操作可能引發新的頁面請求),于是發送Http請求,請求新的Web頁面。

  由于Selenium Server在啟動瀏覽器時做了手腳,所以Selenium Server會接收到所有由它啟動的瀏覽器發送的請求。

  (6).Selenium Server接收到瀏覽器的發送的Http請求后,自己重組Http請求,獲取對應的Web頁面。

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

  為什么Selenium RC中的Selenium Server需要以這種代理服務器的形式存在呢?下一篇繼續介紹:>

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97