我們公司是沒(méi)有正規的測試人員的,對一個(gè)模塊而言,功能是否完成都是由開(kāi)發(fā)人員手工測試。項目后期經(jīng)常發(fā)生這樣的情況,開(kāi)發(fā)人員更改一個(gè)BUG,自已測試表示通過(guò),但是發(fā)到客戶(hù)那卻發(fā)現,BUG是改好了,以前正常工作的功能卻不能工作了。對一個(gè)模塊來(lái)講,更改一個(gè)部分的代碼,可能會(huì )造成連鎖反應,如果要保證不會(huì )造成其他功能不受影響,必須進(jìn)行全面的測試,這在項目后期,頻繁更改BUG時(shí),肯定是不現實(shí)的。 鑒于這種狀況,考慮將Selenium引入到項目中。
Selenium是ThoughtWorks公司開(kāi)發(fā)的一套基于WEB應用的驗收測試工具,直接運行在瀏覽器中,模擬客戶(hù)操作。
Selenium抽象出一系列命令來(lái)模塊用戶(hù)操作,比如open命令表示打開(kāi)一個(gè)URL,click命令表示點(diǎn)擊某個(gè)按鈕。Selenium實(shí)際上將這些命令轉化成實(shí)際的HTTP請求在瀏覽器中運行。
具體支持哪些命令可以參見(jiàn)SpringSide的翻譯。
Selenium IDE是基于FIREFOX瀏覽器的一個(gè)插件,提供GUI界面來(lái)運行Selenium測試。Selenium IDE提供腳本錄制功能,可以將用戶(hù)在瀏覽器中執行的操作記錄下來(lái),生成各種形式的腳本,可以將這些腳本保存供以后使用。
安裝Selenium IDE的步驟如下:
Selenium Remote Control是一個(gè)測試工具,允許使用任何語(yǔ)言編寫(xiě)自動(dòng)化的WEB UI測試用例。這個(gè)工具提供一個(gè)Selenium Server可以啟動(dòng),停止和控制任何瀏覽器,這個(gè)服務(wù)器使用AJAX直接和瀏覽器進(jìn)行交互,可以使用HTTP GET/POST請求向Selenium Server發(fā)送命令。這意味著(zhù)可以使用任何編程語(yǔ)言向Selenium Server發(fā)送HTTP請求來(lái)自動(dòng)化Selenium測試。為了簡(jiǎn)化這個(gè)過(guò)程Selenium提供各主流語(yǔ)言的包裝對象,對于JAVA來(lái)說(shuō),是DefaultSelenium類(lèi)。
雖然Selenium提供簡(jiǎn)單的基于HTML TABLE的方式編寫(xiě)測試,考慮到開(kāi)發(fā)人員對JAVA代碼更熟悉一些,而且通過(guò)代碼編寫(xiě)的測試,很容易通過(guò)ANT腳本和單元測試一起自動(dòng)運行。下面的過(guò)程講述如何使用JAVA編寫(xiě)Selenium測試。
從www.openqa.org/selenium-rc/download.action下載Selenium RC相關(guān)文件,假定解壓縮后的目錄為HOME
Selenium Server是用JAVA實(shí)現的,相應的庫文件在HOME/server/selenium-server.jar。運行如下代碼從命令行啟動(dòng):
命令行中也可以提供一些選項設置,具體的選項設置參見(jiàn)www.openqa.org/selenium-rc/options.html。如果要進(jìn)行自動(dòng)化測試,可以在A(yíng)NT腳本中啟動(dòng)。
要編寫(xiě)Selenium測試用例,首先必須交HOME/java/selenium-java-client-driver.jar文件加載到類(lèi)路徑中。然后編寫(xiě)一個(gè)JUNIT的單元測試,要構建一個(gè)Selenium,包括如下步驟:
如下是一個(gè)示例,用來(lái)測試OpenQA: Selenium"。
此篇文章只是簡(jiǎn)單的記錄了個(gè)人在研究Selenium的一個(gè)QuickStart的過(guò)程,供自己和同事以后參考。如果明白了Selenium的使用機制,具體的使用是非常簡(jiǎn)單的,當然要達到自動(dòng)化測試的目的,必須要求在A(yíng)NT構建腳本中啟動(dòng)Selenium服務(wù)器,這在花錢(qián)的年華的博客中有描述,SpringSide就是一個(gè)很好的借鑒。
聯(lián)系客服