強大的Web開源測試工具—Selenium
介紹 Selenium 是ThoughtWorks專門為Web應用而 開發 的 自動化測試 工具,適合進行 功能測試 、 驗收測試 ,其最大的優勢有幾點: !--[if !supportLists]-->1)!--[endif]-->可直接運行在瀏覽器之上,所見即所得,就像真實用戶所做的一樣。Selenium的核心,也稱
介紹
Selenium是ThoughtWorks專門為Web應用而
開發的
自動化測試工具,適合進行
功能測試、
驗收測試,其最大的優勢有幾點:
<!--[if !supportLists]-->1) <!--[endif]-->可直接運行在瀏覽器之上,所見即所得,就像真實用戶所做的一樣。Selenium的核心,也稱browser bot,是用JavaScript編寫的。這使得
測試腳本可以在受支持的瀏覽器中運行。browser bot負責執行從測試腳本接收到的命令
<!--[if !supportLists]-->2) <!--[endif]-->支持多操作系統(
Windows, Mac OS和
Linux)和各種瀏覽器Internet Explorer、Mozilla和Firefox,更容易發現瀏覽器的不
兼容性
<!--[if !supportLists]-->3) <!--[endif]-->支持兩種開發腳本的模式test runner(HTML文件)和driven(
腳本語言編寫),其語言包括
Java, .
NET, Perl, Python和
Ruby.使用driven腳本,測試有一部分在瀏覽器之外運行,而如果使用test runner腳本的話,測試是完全在瀏覽器中運行的。
但是Selenium是輕量的
測試框架,腳本所處理的測試用例構成簡單,其實質就是通過HTTP協議,發送請求(request)來完成
測試用例,所以很困難處理業務邏輯關系強的測試用例。
更多的討論:http://forums.openqa.org/index.jspa
Selenium命令 Selenium命令分成兩類——操作(action)和斷言(assertion):
操作模擬用戶與Web應用程序的交互。例如,單擊一個按鈕和填寫一個表單,這些都是常見的用戶操作,可以用Selenium命令來自動化這些操作。 斷言驗證一個命令的預期結果。常見的斷言包括驗證頁面內容或當前位置是否正確。在Selenium網站上可以找到可用命令的完整列表。通過
Selenium命令,腳本編寫者可以描述browser bot在瀏覽器中所執行的操作
組成 Selenium IDE:一個firefox的plug-in,可以錄制和回放并保存一些test cases,可以生成一些簡單的基于rc模式的簡單code.(相當于Jmeter的gui模式和
jmeter腳本的生成-badboy) Selenium Core.整個測試機制的核心部分,即有assertion(斷言)機制的test suite runner。它由一些純js代碼組成,可以運行在
windows/
linux的不同browser上(相當于Jmeter的runner跟Assertion) Selenium Remote Control:一個代理與控制端,可代替Selenium core/ Selenium IDE的client端(相當于通過編程來實現一切),是支持多語言的. (相當于Jmeter的client/server模式,但Selenium Remote Control更強一些) 支持的平臺 Windows: Internet Explorer 6.0 Firefox 0.8 to 1.5, MozillaSuite1.6+, 1.7+ Seamonkey 1.0, Opera 8 Mac OS X: Safari 1.3+ Firefox 0.8 to 1.5, MozillaSuite1.6+, 1.7+ Seamonkey 1.0, Camino 1.0a1 Linux: Firefox 0.8 to 1.5, MozillaSuite1.6+, 1.7+ Konqueror 部署Selenium
下載地方:http://www.openqa.org/selenium/
selenium目錄下的內容:
<!--[if !supportLists]-->l <!--[endif]-->devtests:試驗性功能 dom-images:查看DOM用圖片
<!--[if !supportLists]-->l <!--[endif]-->dom-styles:查看DOM用樣式表
<!--[if !supportLists]-->l <!--[endif]-->html-xpath: Xpath庫
<!--[if !supportLists]-->l <!--[endif]-->jsmock: javascript mock library
<!--[if !supportLists]-->l <!--[endif]-->jsunit: javascript unit test library
<!--[if !supportLists]-->l <!--[endif]-->tests: samples(以這個為基礎開發測試用例)
<!--[if !supportLists]-->l <!--[endif]-->核心js文件和html文件
原文轉自:http://www.anti-gravitydesign.com