• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 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.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>