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























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










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









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










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

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

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

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




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




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

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