您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium--透明反復(fù)推介集成測(cè)試工具
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/15 14:15:39 ] 推薦標(biāo)簽:

關(guān)鍵字:集成測(cè)試工具
國(guó)內(nèi)大部分公司還依靠QA組的MM看著測(cè)試用例文檔來(lái)手工測(cè)試,如果錢人有限,又想改變現(xiàn)狀,實(shí)在的建議是先編寫直接訪問(wèn)數(shù)據(jù)庫(kù)的商業(yè)層UnitTest和基于Selenium的集成測(cè)試這兩種實(shí)用性高的測(cè)試。

在徐昊指導(dǎo)下,SpringSide2.0 已經(jīng)全面應(yīng)用Selenium。

Selenium 能被選為好集成測(cè)試、回歸測(cè)試方案,是因?yàn)椋?/p>

1.Selenium IDE ,一個(gè)FireFox plugin,能自動(dòng)記錄用戶的操作,生成測(cè)試腳本。

2. 生成的測(cè)試腳本可以用Selenium Core手工執(zhí)行,也能基于Selenium RC放入Java,C#,Ruby的單元測(cè)試用例中自動(dòng)運(yùn)行。

3. 測(cè)試用例調(diào)用實(shí)際的瀏覽器(如IE、FireFox)來(lái)執(zhí)行測(cè)試。和有些開源方案自行實(shí)現(xiàn)Web解釋引擎相比,實(shí)際的瀏覽器能模擬更多用戶交互和JS語(yǔ)法,順便還可以測(cè)試各瀏覽器兼容性。

4. 測(cè)試腳本語(yǔ)法非常簡(jiǎn)單,見后。


1. 使用Selenium IDE生成腳本

Selenium IDE 是一個(gè)Firefox1.5插件,下載后用Firefox將其打開。

工具->Selenium IDE,點(diǎn)擊紅色的recorder按鈕開始錄制,在網(wǎng)站中亂點(diǎn)時(shí)可以即時(shí)看到每個(gè)動(dòng)作的腳本。

切換Format:顯示 HTML,Java,C#,Ruby 語(yǔ)法的腳本。 option里還可以設(shè)定Java里Selenium變量的名稱,如user。

2.測(cè)試用例與測(cè)試腳本

測(cè)試用例在Selenium IDE生成->Copy Paste的流程下非常的容易。

public class UserManagerTest extends TestCase
{
    private Selenium user;

    public void setUp() throws Exception {
       user= new DefaultSelenium("localhost", SeleniumServer.DEFAULT_PORT, "*iexplore", "http://localhost:8080");
       user.start();
}
protected void tearDown() throws Exception {
        user.stop();
}

public void testUserEdit() {
    user.open("/helloworld");
    user.click("//a[contains(@href, ’user.do?id=0’)]");
    user.waitForPageToLoad("3000");
    user.type("user.name", "calvin");
    user.click("save");
    user.waitForPageToLoad("3000");
    assertTrue(user.isTextPresent("calvin"));
}
留意setUp中的"*iexplore"參數(shù),設(shè)定使用IE作為測(cè)試瀏覽器;如果設(shè)為"*firefox",會(huì)在PATH中查找*firefox.exe。

注意,Selenium使用IE時(shí)的Proxy機(jī)制比較特殊,如果你同時(shí)在本機(jī)ADSL modem撥號(hào)上網(wǎng),要先斷網(wǎng)。

腳本中按徐昊的指導(dǎo),使用user 作為Selenium的變量名,使用例更加易讀。

Selenium提供了非常豐富的用戶交互函數(shù),但Selenium RC里并沒(méi)有為Java單列一個(gè)函數(shù)參考手冊(cè),需要閱讀公共的Selenium Refrences,再使用同名對(duì)應(yīng)的java函數(shù)。

所有函數(shù)都是一個(gè)locator參數(shù),將操作付諸某個(gè)頁(yè)面上的對(duì)象。支持ID,DOM語(yǔ)法,XPath語(yǔ)法,CSS selector語(yǔ)法等,詳見參考手冊(cè)。

如果不會(huì)寫,好的老師還是Selenium IDE 。比如那句點(diǎn)擊 修改,是用IDE得到user.click("//a[contains(@href, ’user.do?id=0’)]")的XPath語(yǔ)句。

3.Ant的運(yùn)行腳本

我寫的Ant測(cè)試腳本一個(gè)重要特征是使用 并行容器節(jié)點(diǎn),一邊同時(shí)打開tomcat 和selenium server,一邊等待兩者打開后執(zhí)行JUnit。
如果不使用并行節(jié)點(diǎn),而是用spawn=yes屬性后臺(tái)啟動(dòng)tomcat,屏幕里看不到tomcat信息,如果測(cè)試意外終止的話,不能關(guān)閉tomcat,很不方便! 
MINUTE" CHECKEVERY="1" CHECKEVERYUNIT="SECOND">
           
4.SpringSide 中的FunctionalTestCase基類

SpringSide中抽象了一個(gè)FunctionalTestCase基類,抽取了setUp() ,tearDown()函數(shù)中selenium server 開閉操作。

其中瀏覽器類型默認(rèn)為"*iexplore", 基本url默認(rèn)為http://localhost:8080

用戶可以在selenium.properties 中重新設(shè)定selenium.explorer 和selenium.baseurl 變量。

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