1.介紹
Part1:簡介 Selenium是一套完整的Web應(yīng)用程序測試系統(tǒng),它包含了測試的錄制(Selenium
IDE)、編寫及運行(Selenium Remote
Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium
Core基于JsUnit,完全由JavaScript編寫,因此可運行于任何支持JavaScript的瀏覽器上。 Part2:版本介紹 (1)、SeleniumIDE:一個Firefox的附加組件,結(jié)合Firefox可以實現(xiàn)錄制測試腳本,并在瀏覽器中模擬用戶真實操作進(jìn)行回放。而且可以生成一些簡單的基于Selenium Remote
Control模式的簡單代碼。 (2)、Selenium Core:整個測試機(jī)制的核心部分,即有assertion(斷言)機(jī)制的test suite runner。它由一些純js代碼組成,可以運行在windows/linux的不同browser上
Selenium Remote Control:一個代理與控制端,可代替Selenium core/
Selenium IDE的client端(相當(dāng)于通過編程來實現(xiàn)一切),是支持多語言的。
2.安裝
step0:前提,機(jī)器上有JDK1.5,eclipse,最好有能跑起來的web工程;
step1:下載地址http://seleniumhq.org/download/ 頁面中 Selenuium Client
Drivers下java版本的client 以及Selenium Server
step2:啟動 Selenium的server java -jar selenium-server.jar
3.測試
step1:在eclipse中新建一個java web工程,加入junit 和 selenium server 的jar包;
step2:新建java文件代碼如下:
package cn.edie; |
step3: 在文件上點右鍵 run as->junit test 運行彈出瀏覽器窗口,自動測試。
4.用法:
網(wǎng)上找到的用法。其他介紹:http://liujianguangaaa.blog.163.com/blog/static/3689529420103982551410/
1、測試文本輸入框
假設(shè)頁面上有一個文本輸入框,我們要測試的內(nèi)容是 在其中輸入一些內(nèi)容,然后點擊一個按鈕,看看頁面的是否跳轉(zhuǎn)
到需要的頁面。
public void test1() { |
上面的代碼是這個意思:
1、調(diào)用 selenium.open 方法,瀏覽器會打開相應(yīng)的頁面
2、使用 type 方法來給輸入框輸入文字
3、等待頁面載入
4、看看新的頁面標(biāo)題是不是我們想要的。
2、測試下拉框
java 代碼
public void test1() { |
可以看到,我們可以使用 select 方法來確定選擇下拉框中的哪個選項。
select 方法還有很多用法,具體去看看文檔吧。
3、測試check box
java 代碼
public void test1() { |
我們可以使用 check 方法來確定選擇哪個radio button
4、得到文本框里的文字
java 代碼
assertEquals(selenium.getValue("xpath=//input[@name='WNO']"), "1"); |
getValue 方法就是得到文本框里的數(shù)值,可不是 getText 方法,用錯了可就郁悶了。
5、判斷頁面是否存在一個元素
java 代碼
assertTrue(selenium.isElementPresent("xpath=//input[@name='MEICK_000']")); |
一般這個是用來測試當(dāng)刪除一些數(shù)據(jù)后,頁面上有些東西就不會顯示的情況。
6、判斷下拉框里選擇了哪個選項
java 代碼
assertEquals(selenium.getSelectedIndex("xpath=//SELECT[@name='HATIMING']"),"1"); |
這個可以用來判斷下拉框顯示的選項是否是期望的選項。
7、如果有 alert 彈出對話框怎么辦?
這個問題弄了挺長時間,可以這樣來關(guān)閉彈出的對跨框:
java 代碼
if(selenium.isAlertPresent()) { |
其實當(dāng)調(diào)用 selenium.getAlert() 時,就會關(guān)閉 alert 彈出的對話框。
也可以使用 System.out.println(selenium.getAlert()) 來查看對跨框顯示的信息。
在測試的時候,有的人會顯示許多alert 來查看運行時的數(shù)據(jù),那么我們可以用下面的方式來關(guān)閉那些 alert:
java 代碼
while(selenium.isAlertPresent()) { |
8、如何測試一些錯誤消息的顯示?
java 代碼
assertTrue(selenium.getBodyText().indexOf("錯誤消息")>=0); |
切記: getBodyText 返回的時瀏覽器頁面上的文字,不回包含html 代碼的,如果要顯示html 代碼,用下面這個:
java 代碼
System.out.println(selenium.getHtmlSource()); |
以上就是最常用的幾個方法了,例如 click, type, getValue 等等。
還有就是一定要學(xué)習(xí) xpath, 其實xpath 也可以有“與、或、非”的操作:
java 代碼
selenium.check("xpath=//input[(@name='KNYKBN')and(@value='Y')]"); |
附1:DefaultSelenium方法
附2:XPath教程 http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
歡迎光臨 Chinaunix (http://www.72891.cn/) | Powered by Discuz! X3.2 |