您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
菜鳥(niǎo)學(xué)自動(dòng)化測(cè)試??selenium系列全集
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/3 14:43:08 ] 推薦標(biāo)簽:

菜鳥(niǎo)學(xué)自動(dòng)化測(cè)試(二)----selenium IDE 功能擴(kuò)展

通過(guò)上一節(jié)的學(xué)習(xí),相信我們已經(jīng)會(huì)selnium IDE的基本使用了,為了使selenium 更強(qiáng)大,其實(shí)selenium 還提供了良好的擴(kuò)展能力。

----//用戶擴(kuò)展

用戶擴(kuò)展是使用javaScript文件來(lái)創(chuàng)建定制化特性,添加新功能,通常情況下這種擴(kuò)展是定制化命令,但擴(kuò)展并不于命令。

這里有一些列的擴(kuò)展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions

 

1.下面我們利用擴(kuò)展的方式,產(chǎn)生一個(gè)用戶隨機(jī)數(shù)字

為了使用用戶擴(kuò)展,我們需要一個(gè)創(chuàng)建一個(gè)文件,當(dāng)然也可以從上面的鏈接中下載。文件名為:user-extention.js
復(fù)制代碼

 //產(chǎn)生隨機(jī)數(shù)
Selenium.prototype.doStoreRandom = function(variableName){
random = Math.floor(Math.random()*10000000);
storedVars[variableName] = random;
}


//彈出框
Selenium.prototype.doDisplayAlert = function(value, varName) {
    alert(value);
}

//在控件中輸入當(dāng)前日期
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');
}

復(fù)制代碼

將上面代碼復(fù)制到一個(gè)記事本里,并另存為一個(gè):user-extention.js的文件

在selenium IDE 中導(dǎo)入此文件,如下圖:

選中文件后,點(diǎn)擊“確定”按鈕。你必須關(guān)閉再重啟selenium IDE,以便于擴(kuò)展文件被讀取。任何擴(kuò)展的改變,都要求關(guān)閉和重啟selenium IDE.

2.轉(zhuǎn)換代碼形式

   選擇Options 菜單下的Format,允許你選擇一種語(yǔ)言來(lái)保護(hù)和戰(zhàn)士測(cè)試案例。默認(rèn)是HTML格式。

   如果你使用selenium RC 運(yùn)行測(cè)試案例。這個(gè)特性可以幫助你將測(cè)試案例翻譯成編程語(yǔ)言。

   我們可以選擇“文件”----Export test Case As...來(lái)轉(zhuǎn)換我們需要的語(yǔ)言格式。

3.在不同瀏覽器上執(zhí)行selenium IDE測(cè)試。

   selenium IDE只能在friefox上運(yùn)行,但是通過(guò)selenium IDE 開(kāi)發(fā)的自動(dòng)化測(cè)試,可以在其他瀏覽器上運(yùn)行。只要使用一條簡(jiǎn)單的命令喚醒 selenium RC 服務(wù)器可以了。

   如果瀏覽器不被直接支持,那么通過(guò)使用" *custom "運(yùn)行模式,你依然可以在瀏覽器上運(yùn)行selenium 測(cè)試案例。

cmd=getNewBrowserSession&1=*custom c:Program FilesMozilla FirefoxMyBrowser.exe&2=http://fnng.cnblogs.com

如下一段代碼:
復(fù)制代碼

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/);

//可以用下面一行的代碼來(lái)替換上面一行代碼

//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/); 這種方式更為簡(jiǎn)便。


        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();
    }
}

注意:如果通過(guò)這種方式啟動(dòng)瀏覽器,你必須手動(dòng)配置瀏覽器,以便將selenium Server 作為代理,通常這僅僅意味著打開(kāi)你的瀏覽器參數(shù)文件,并指明“localhost:4444”作為HTTP代理。但是,不同瀏覽器的指令可能完全不一樣,這需要從你的瀏覽器支持文檔中尋找更多細(xì)節(jié)。

 

上一頁(yè)1234567891011下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd