天天看點

【自動化測試】Selenium概況了解

        Selenium自動化測試浏覽器,它主要是用于Web應用程式的自動化測試,但肯定不止局限于此,同時支援所有基于web的管理任務自動化。

        Selenium的特點:

        Ø  開源,免費

        Ø  多浏覽器支援:Firefox、Chrome、IE、Opera等

        Ø  多平台支援:Linux、Windows、MAC

        Ø  多語言支援:Java、Python、Ruby、PHP、C#、JavaScript

        Ø  對web頁面有良好的支援

        Ø  簡單、靈活

        Ø  支援分布式測試用例執行

       Selenium是由幾個工具組成,每個工具都有其特點和應用場景

【自動化測試】Selenium概況了解

        Selenium IDE是嵌入到Firefox浏覽器中的一個插件,實作簡單的浏覽器操作的錄制與回放功能。那麼在什麼情況下用到它呢?

快速的建立bug重制腳本,在測試人員的測試過程中,發現了bug之後可以通過IDE将重制的步驟錄制下來,以幫助開發人員更容易的重制bug。IDE錄制的腳本可以轉換成多種語言,進而幫助我們快速的開發腳本。

        Selenium Grid是一種自動化測試的輔助工具,Grid通過利用現有計算機基礎設施,能加快Web-app的功能測試。利用Grid,可以很友善地同時在多台機器上和異構環境中并行運作多個測試執行個體。其特點為:

        Ø  并行執行

       Ø  通過一個主機同意控制用例在不同環境,不同浏覽器下運作。

       Ø  靈活添加變動的測試機器

       Selenium RC是Selenium家族的核心工具,Selenium RC支援多種不同的語言編寫自動化測試腳本,通過Selenium RC的伺服器作為代理服務去通路應用進而達到測試目的。

        Selenium RC使用分Client Libraries和Selenium Server,Client Libraries庫主要用于編寫測試腳本,用來控制Selenium Server的庫。

Selenium Server負責控制浏覽器行為,總的來說,Selenium Server主要包括3個部分:Launcher、Http Proxy、Core。其中Selenium Core是被Selenium Server嵌入到浏覽器頁面中的。其實Selenium Core就是一堆JS函數的集合,就是通過這些JS函數,我們才可以實作用程式對浏覽器進行操作。Launcher用于啟動浏覽器,把Selenium Core加載到浏覽器頁面中,并把浏覽器的代理設定為Selenium Server的HTTP Proxy。

        在Selenium 2.0版本中,加入了WebDriver,即Selenium2.0=Selenium 1.0 + WebDriver。

        需要強調的是,在Selenium2.0中主推的是WebDriver,WebDriver是Selenium RC的替代品,因為Selenium為了向下相容,是以Selenium RC并沒有徹底抛棄,如果你使用Selenium開發一個自動化測試項目,強烈推薦使用WebDriver。那麼Selenium RC與WebDriver主要差別在哪?

Selenium RC在浏覽器中運作了JavaScript應用,使用浏覽器内置的JavaScript翻譯器來翻譯和執行Selenium指令。

        WebDriver通過原生浏覽器支援或者浏覽器擴充直接控制浏覽器。WebDriver針對各個浏覽器而開發,取代了嵌入到被測Web應用中的JavaScript。與浏覽器的緊密內建支援建立更進階的測試,避免了JavaScript安全模型導緻的限制。除了來自浏覽器廠商的支援,WebDriver還利用了作業系統級的調用模拟使用者輸入。