[轉]Selenium私房菜系列1 -- Selenium簡介

來源:互聯網
上載者:User

標籤:style   blog   http   os   io   使用   java   strong   ar   

一.Selenium是什嗎?

Selenium是ThroughtWorks公司一個強大的開源Web功能測試工具系列,本系列現在主要包括以下4款:

        1.Selenium Core:支援DHTML的測試案例(效果類似資料驅動測試),它是Selenium  IDE和Selenium  RC的引擎。

        2.Selenium IDE:FireFox的一個外掛程式,支援指令碼錄製。

        3.Selenium RC:Selenium Remote Control。後續的系列文章我會主要針對Selenium RC展開介紹。

        4.Selenium Grid:允許同時並行地、在不同的環境上運行多個測試工作,極大地加快Web應用的功能測試。

二.選擇合適的Selenium工具

既然Selenium工具有4款這麼多,那到底如何選擇呢??我從"Selenium官網"這裡找了一個表:

  Selenium IDE Selenium Remote Control Selenium Core Selenium Core HTA
瀏覽器支援 僅Firefox 很多 所有 僅IE
需要遠程安裝
支援 HTTPS/SSL 是*
支援跨域 是*
需要Java
將測試結果儲存到磁碟
多語言支援 僅Selenese 很多 僅Selenese 僅Selenese

這裡沒有介紹Selenium Grid,但介紹了另外一個Selenium Core HTA,Selenium Core HTA其實是Selenium Core的額外模式,你只要Selenium Core配置稍加修改,即為HTA模式,Selenium Core HTA可以在IE最高安全等級(特權)下工作,這意味著它僅能在IE下工作,由於限制較大,下面將排除對Selenium Core HTA的討論。

1.瀏覽器支援

    (1).Selenium IDE僅可以在Firefox中工作。

    (2).Selenium Remote Control支援很多瀏覽器,包括最常用的:firefox,ie,safari等N款瀏覽器。

    (3).Selenium Core支援的瀏覽器是最廣的,這點和它的實現有關。作為IDE和RC的引擎,Selenium Core幾乎可以在任何瀏覽器中工作。

2.需要遠程安裝:是否需要在被測網站的服務端安裝?

    這裡只有Selenium Core需要,這是出於同源策略的原因。這也是Selenium Core一個很大的限制,試問,如果你要測試Google.com,還得在google的伺服器上裝一個Selenium Core,那是多搞笑的一件事。

    而Selenium IDE和Selenium Core HTA不會被同源策略所限制,因為他們對瀏覽器延伸了。

     Selenium RC提供一個代碼伺服器來保證Selenium JS檔案看似來自相同的遠程伺服器,從而符合約源策略;Proxy 伺服器欺騙瀏覽器,讓它認為這裡的確有像http://www.google.com/selenium/這樣的目錄。

3.支援HTTPS/SSL

    這裡不說了,都支援。Selenium RC在“是”後面加*因為它是在最近版本支援的,僅此而已。

4.需要Java:準確的說是需要JRE

    這項只有Selenium RC需要,上面2中所說的“Proxy 伺服器”是一個Java程式,需在跑測試案例前啟動。

5.將測試結果儲存到磁碟

    只有Selenium Core不能將任何測試結果寫到磁碟上(因為它是用javascript寫的,它不允許向磁碟寫資料),其解決方案是當然你可以將測試結果發送到另外一台伺服器儲存。這也是Selenium Core的一大限制。

6.多語言支援

    (1).Selenium IDE僅支援Selenium語言。

    (2).Selenium RC支援很多語言,如:C#,Java,Python,Ruby等。

    (3).Selenium Core也是僅支援Selenium語言。

Selenium語言的測試案例如下:


它的優點是:簡單,用(Command,Target,Value)三種元素組成一個行為,並且有輔助錄製指令碼工具(如:Firefox IDE,Selenium Core等),不懂程式的測試人員都可以輕鬆地編寫測試案例。

它的缺點是:Selenese有一些嚴格的限制:它沒有條件(沒有"if"運算式),並且它沒有迴圈(沒有"For"運算式)。這會使編寫複雜的測試變得困難甚至不可能。

    OK,現在我們來研究下到底該使用哪款工具開展測試!

    (1).Selenium IDE支援並且只支援Firefox瀏覽器,支援的瀏覽器太少,而依附於Firefox也不便於日後開展自動化測試,但是,它的錄製快捷好用!並且有代碼轉換功能,可以把Selenium語言測試案例轉為C#,Java等語言的測試案例,我建議使用Selenium IDE + FireBug進行測試案例的編寫,然後轉為其他語言的測試案例後,再調用Selenium RC運行測試案例。

    (2).Selenium Core,它的優點是編寫測試案例簡單,並且支援絕大多數的瀏覽器,但缺點也同樣明顯,Selenium Core需要遠程安裝,Selenese語言也限制了複雜案例的可能性,並且沒有良好的外部擴充,這是些都會是致命的問題。因為一個款測試載入器不可能100%滿足你測試需求的,當它不能滿足你測試需求時候,它必須有一個擴充機制可以讓你可以使用其他的方式滿足你需求,否則這款測試軟體即使功能強大,也請三思慎用,否則當投入大量資源後才發現某些問題不能解決,那時候已經晚了,這是我的切身體會。

    (3).Selenium RC是我推薦使用的工具,它支援很多瀏覽器,可以使用C#,Java等語言編寫測試案例,易於維護,同時提供了很好的擴充性,所以後續的文檔我會以Selenium RC作為預設的測試載入器。

[轉]Selenium私房菜系列1 -- Selenium簡介

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.