通過上一節的學習,相信我們已經會selnium IDE的基本使用了,為了使selenium 更強大,其實selenium 還提供了良好的擴展能力。
----//用戶擴展
用戶擴展就是使用javaScript文件來創建定制化特性,添加新功能,通常情況下這種擴展就是定制化命令,但擴展并不僅限于命令。
這里有一些列的擴展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
1.下面我們利用擴展的方式,產生一個用戶隨機數字
為了使用用戶擴展,我們需要一個創建一個文件,當然也可以從上面的鏈接中下載。文件名為:user-extention.js
//產生隨機數 Selenium.prototype.doStoreRandom = function(variableName){ random = Math.floor(Math.random()*10000000); storedVars[variableName] = random; } //彈出框 Selenium.prototype.doDisplayAlert = function(value, varName) { alert(value); }
//在控件中輸入當前日期 Selenium.prototype.doTypeTodaysDate = function(locator){ var dates = new Date(); var day = dates.getDate(); if (day < 10){ day = '0' + day; } month = dates.getMonth() + 1; if (month < 10){ month = '0' + month; } var year = dates.getFullYear(); var prettyDay = day + '/' + month + '/' + year; this.doType(locator, 'dddddd'); } |
將上面代碼復制到一個記事本里,并另存為一個:user-extention.js的文件
在selenium IDE 中導入此文件,如下圖:

選中文件后,點擊“確定”按鈕。你必須關閉再重啟selenium IDE,以便于擴展文件被讀取。任何擴展的改變,都要求關閉和重啟selenium IDE.
2.轉換代碼形式
選擇Options 菜單下的Format,允許你選擇一種語言來保護和戰士測試案例。默認是HTML格式。
如果你使用selenium RC 運行測試案例。這個特性可以幫助你將測試案例翻譯成編程語言。
我們可以選擇“文件”----Export test Case As...來轉換我們需要的語言格式。具體實例請參考《selenium RC 環境搭建》

3.在不同瀏覽器上執行selenium IDE測試。
selenium IDE只能在friefox上運行,但是通過selenium IDE 開發的自動化測試,可以在其他瀏覽器上運行。只要使用一條簡單的命令喚醒 selenium RC 服務器就可以了。
如果瀏覽器不被直接支持,那么通過使用" *custom "運行模式,你依然可以在瀏覽器上運行selenium 測試案例。
cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com |
如下一段代碼:
package com.example.tests; import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern; public class test extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*chrome", http://fnng.cnblogs.com/); //可以用下面一行的代碼來替換上面一行代碼 //cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com //如果是IE瀏覽器的話,可以直接修改瀏覽器名稱,代碼如下: //selenium = new DefaultSelenium("localhost", 4444, " *iexplore", http://fnng.cnblogs.com/); 這種方式更為簡便。 selenium.start(); } @Test public void testTest() throws Exception { selenium.open("/"); selenium.click("id=homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0"); selenium.waitForPageToLoad("30000"); } @After public void tearDown() throws Exception { selenium.stop(); } } |
如何配置java環境來驗證我面的一段代碼,請參考,我的《selenium RC 環境搭建》
注意:如果通過這種方式啟動瀏覽器,你必須手動配置瀏覽器,以便將selenium Server 作為代理,通常這僅僅意味著打開你的瀏覽器參數文件,并指明“localhost:4444”作為HTTP代理。但是,不同瀏覽器的指令可能完全不一樣,這就需要從你的瀏覽器支持文檔中尋找更多細節。
相關文章:
菜鳥學自動化測試(一)----selenium IDE