菜鳥學自動化測試(二)----selenium IDE 功能擴展
通過上一節(jié)的學習,相信我們已經(jīng)會selnium IDE的基本使用了,為了使selenium 更強大,其實selenium 還提供了良好的擴展能力。
----//用戶擴展
用戶擴展是使用javaScript文件來創(chuàng)建定制化特性,添加新功能,通常情況下這種擴展是定制化命令,但擴展并不于命令。
這里有一些列的擴展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
1.下面我們利用擴展的方式,產(chǎn)生一個用戶隨機數(shù)字
為了使用用戶擴展,我們需要一個創(chuàng)建一個文件,當然也可以從上面的鏈接中下載。文件名為:user-extention.js
復制代碼
//產(chǎn)生隨機數(shù)
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.轉(zhuǎn)換代碼形式
選擇Options 菜單下的Format,允許你選擇一種語言來保護和戰(zhàn)士測試案例。默認是HTML格式。
如果你使用selenium RC 運行測試案例。這個特性可以幫助你將測試案例翻譯成編程語言。
我們可以選擇“文件”----Export test Case As...來轉(zhuǎn)換我們需要的語言格式。
3.在不同瀏覽器上執(zhí)行selenium IDE測試。
selenium IDE只能在friefox上運行,但是通過selenium IDE 開發(fā)的自動化測試,可以在其他瀏覽器上運行。只要使用一條簡單的命令喚醒 selenium RC 服務器可以了。
如果瀏覽器不被直接支持,那么通過使用" *custom "運行模式,你依然可以在瀏覽器上運行selenium 測試案例。
cmd=getNewBrowserSession&1=*custom c:Program FilesMozilla FirefoxMyBrowser.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 FilesMozilla FirefoxMyBrowser.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();
}
}
注意:如果通過這種方式啟動瀏覽器,你必須手動配置瀏覽器,以便將selenium Server 作為代理,通常這僅僅意味著打開你的瀏覽器參數(shù)文件,并指明“localhost:4444”作為HTTP代理。但是,不同瀏覽器的指令可能完全不一樣,這需要從你的瀏覽器支持文檔中尋找更多細節(jié)。