Selenium 使用介紹
Selenium 是 thoughtworks公司的一個(gè)集成測試的強(qiáng)大工具。最近參與了一個(gè)系統(tǒng)移植的項(xiàng)目,正好用到這個(gè)工具,
把一些使用心得分享給大家,希望大家能多多使用這樣的強(qiáng)大的,免費(fèi)的工具,來保證我們的質(zhì)量。
Selenium 的文檔現(xiàn)存的不少,不過都太簡單了。使用Selenium的時(shí)候,我更多的是直接去看API文檔,好在API不錯,
一個(gè)一個(gè)看,就能找到所需要的 :-) 官方網(wǎng)站:http://www.openqa.org/selenium/
好,下面進(jìn)入正題!
一、Selenium 的版本
Selenium 現(xiàn)在存在2個(gè)版本,一個(gè)叫 selenium-core, 一個(gè)叫selenium-rc 。
selenium-core 是使用HTML的方式來編寫測試腳本,你也可以使用 Selenium-IDE來錄制腳本,但是目前Selenium-IDE
只有 FireFox 版本。
Selenium-RC 是 selenium-remote control 縮寫,是使用具體的語言來編寫測試類。
selenium-rc 支持的語言非常多,這里我們著重關(guān)注java的方式。這里講的也主要是 selenium-rc,因?yàn)閭€(gè)人還是喜歡這種
方式 :-)
二、一些準(zhǔn)備工作
1、當(dāng)然是下載 selenium 了,到 http://www.openqa.org/selenium/ 下載就可以了,記得選擇selenium-rc 的版本。
2、學(xué)習(xí)一下 xpath 的知識。有個(gè)教程:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
一定要學(xué)習(xí)這個(gè),不然你根本看不懂下面的內(nèi)容!
3、安裝 jdk1.5
三、selenium-rc 一些使用方法
在 selenium-remote-control-0.9.0\server 目錄里,我們運(yùn)行 java -jar selenium-server.jar
之后你就會看到一些啟動信息。要使用 selenium-rc ,啟動這個(gè)server 是必須的。
當(dāng)然,啟動的時(shí)候有許多參數(shù),這些用法可以在網(wǎng)站里看看教程,不過不加參數(shù)也已經(jīng)足夠了。
selenium server 啟動完畢了,那么我們就可以開始編寫測試類了!
我們先有個(gè)概念,selenium 是模仿瀏覽器的行為的,當(dāng)你運(yùn)行測試類的時(shí)候,你就會發(fā)現(xiàn)selenium 會打開一個(gè)
瀏覽器,然后瀏覽器執(zhí)行你的操作。
好吧,首先生成我們的測試類:
java 代碼























代碼十分簡單,作用就是初始化一個(gè) Selenium 對象。其中:
url : 就是你要測試的網(wǎng)站
localhost: 可以不是localhost,但是必須是 selenium server 啟動的地址
*iexplore : 可以是其它瀏覽器類型,可以在網(wǎng)站上看都支持哪些。
下面我就要講講怎么使用selenium 這個(gè)對象來進(jìn)行測試。
1、測試文本輸入框
假設(shè)頁面上有一個(gè)文本輸入框,我們要測試的內(nèi)容是 在其中輸入一些內(nèi)容,然后點(diǎn)擊一個(gè)按鈕,看看頁面的是否跳轉(zhuǎn)
到需要的頁面。










上面的代碼是這個(gè)意思:
1、調(diào)用 selenium.open 方法,瀏覽器會打開相應(yīng)的頁面
2、使用 type 方法來給輸入框輸入文字
3、等待頁面載入
4、看看新的頁面標(biāo)題是不是我們想要的。
2、測試下拉框
java 代碼









可以看到,我們可以使用 select 方法來確定選擇下拉框中的哪個(gè)選項(xiàng)。
select 方法還有很多用法,具體去看看文檔吧。
3、測試check box
java 代碼










我們可以使用 check 方法來確定選擇哪個(gè)radio button
4、得到文本框里的文字
java 代碼

getValue 方法就是得到文本框里的數(shù)值,可不是 getText 方法,用錯了可就郁悶了。
5、判斷頁面是否存在一個(gè)元素
java 代碼

一般這個(gè)是用來測試當(dāng)刪除一些數(shù)據(jù)后,頁面上有些東西就不會顯示的情況。
6、判斷下拉框里選擇了哪個(gè)選項(xiàng)
java 代碼

這個(gè)可以用來判斷下拉框顯示的選項(xiàng)是否是期望的選項(xiàng)。
7、如果有 alert 彈出對話框怎么辦?
這個(gè)問題弄了挺長時(shí)間,可以這樣來關(guān)閉彈出的對跨框:
java 代碼




其實(shí)當(dāng)調(diào)用 selenium.getAlert() 時(shí),就會關(guān)閉 alert 彈出的對話框。
也可以使用 System.out.println(selenium.getAlert()) 來查看對跨框顯示的信息。
在測試的時(shí)候,有的人會顯示許多alert 來查看運(yùn)行時(shí)的數(shù)據(jù),那么我們可以用下面的方式來關(guān)閉那些 alert:
java 代碼




8、如何測試一些錯誤消息的顯示?
java 代碼
切記: getBodyText 返回的時(shí)瀏覽器頁面上的文字,不回包含html 代碼的,如果要顯示html 代碼,用下面這個(gè):
java 代碼
以上就是最常用的幾個(gè)方法了,例如 click, type, getValue 等等。
還有就是一定要學(xué)習(xí) xpath, 其實(shí)xpath 也可以有“與、或、非”的操作:
四、其他
selenium 還有更多的用法,例如彈出頁面等等。當(dāng)面對沒見過的測試要求時(shí),我最笨的方法就是按照api文檔一個(gè)一個(gè)找,
好在不多,肯定能找到。

posted on 2007-11-24 10:03 々上善若水々 閱讀(2394) 評論(0) 編輯 收藏 所屬分類: 軟件測試