Selenium-WebDriver教程(一)開卷有益


     初識Selenium還是在2010年的4月份,那時剛剛入職滿一年。由於項目的需要,需要我們開發一套撥測系統,能夠探測網絡上的業務。於是在網上找各種工具進行試用,包括商業軟件RFT(IBM),QTP (HP), SilkTest等商業軟件,當然也有WATIR,但是都不滿意。一次偶然的機會,碰到了Selenium,自此就深深的喜歡上了它。

     其實,早都想寫一些關於Selenium的一些技術文章,但是苦於工作壓力,遲遲未能如願。今天,工作之余整理文件,發現角落里的Selenium,於是拿出分享給大家。由於本人文筆欠佳,加上技術更新日新月異,如有講述不當或錯誤之處,還望指正。 

     這個系列的教程將分為四個部分講解:

     (1) 開卷有益   :  了解Selenium 的前世今生

     (2) 手中有劍   :   Selenium的IDE

     (3) 撥雲見日   :   使用Selenium做自動化測試

     (4) 羽化成蝶   :   使用Selenium搭建自己的自動化測試框架

第一部分:  開卷有益

1 Selenium的發展歷史

      在2004年,ThoughtWorks公司有個叫做Jason Huggins詹森哈金斯的 家伙,他負責測試一個Web應用程序。這個聰明的家伙,厭倦了一遍遍的手工來測

試這些Web應用程序。於是乎,他寫了一些Javascript代 碼,這些代碼模擬手工操作Web頁面的。——這些代碼(稱之為Javascript 庫)后來就是Selenium

Core,是Selenium RC和Selenium IDE的基礎代碼。

      Selenium一問世后,就得到了廣泛的使用。其中Google就是Selenium的重度用戶了。但是Selenium有它的缺陷的:它是將 Javascript代碼注入到瀏覽器中

的,瀏覽器對Javascript的執行是有些安全限制的,導致有些應用是難以通過Selenium來驗證功能 的。Google可是人才濟濟啊,難不倒他們的。在2006年,

Google的一位工程師Simon Stewart,他開始了一個項目WebDriver,它采用了一種直接的原生的(native)的方式來驅動瀏覽器,以此避免Javascript的限制。

此時,Selenium和WebDriver是各自發展的。到了2008年底,兩者計划合並了。經過了兩年多的合並開發(我也不曉得為啥會花那么長時間才合並好),Selenium

2.0終於在2011.6月份發布了。對上述內容總結繪制了如下的表格:

 

2 Selenium軟件概覽

 Selenium軟件包含很多的功能模塊和組件(官網),每個組件又有着不同的用途,包括:

(1)Selenium IDE

  Selenium IDE是一個錄制和回放工具,目前只支持Firefox瀏覽器,截至目前,最新的版本為1.10.0,可以在官網下載。

(2)Selenium Server

      Selenium1 和 Selenium2的運行支撐環境,使用Selenium進行測試必須要使用該文件。

(3)Selenium Client

      客戶端的開發包,就是你需要引用該包中的API進行selenium進行測試開發和控制。

(4)Driver

      包括IEDriverServer.exe,ChromeDriverServer.exe等(Firefox不需要哦),在使用Selenium2(WebDriver)時,必須下載相應的瀏覽器驅動程序才能完成測試的執行。

(5)Selenium Grid

      如果要做分布式的測試和測試端的管理,就需要使用Selenium Grid組件了。更多內容可以點擊這里查看

 3 Selenium特點

Selenium是一款強大的WEB自動化測試工具,表現在:

(1) 測試直接在瀏覽器中運行,就像真實用戶所做的一樣,從終端用戶的角度測試應用程序。

(2) 使瀏覽器兼容性測試自動化成為可能。兼容Firefox,Chrome,IE ,Opera等瀏覽器,這是其他商業軟件也望塵莫及的。

(3) 使用簡單,可生成多種語言的用例腳本。通過IDE可以將測試用例導出為Ruby,C# , JAVA和Python等語言格式的代碼。

(4) Selenium IDE:一個Firefox插件,可以錄制用戶的基本操作,生成測試用例。這些測試用例在瀏覽器里回放同時可將用例轉換為其他語言的自動化腳本。

(5) 可以支持多種平台(Window, Linux, Mac, Android)。據我了解,目前還沒有那種工具能支撐這么多種平台。

(6) 輕便,小於50M且不用安裝(所有的包加在一起)。

(7) 提供多種語言的開發包,包括C#, JAVA, Ruby和Python。 總有一種是你熟悉的。

4 Selenium架構

這里我給出一個從其他地方得到的一張圖(具體忘記從什么地方得到的了,如果有人知道請告訴我,我增加上),大家看着理解吧,很簡單。

 

5 Selenium相關資料網址

官網:http://seleniumhq.org/

源碼:http://code.google.com/p/selenium/

中文網:http://seleniumcn.cn/

FAQ:   http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

WiKi:  http://code.google.com/p/selenium/w/list

教程:http://marakana.com/bookshelf/selenium_tutorial/selenium2.html

 

分享,讓我們更快樂。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM