您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium自動(dòng)化測(cè)試用例設(shè)計(jì)注意事項(xiàng)(二)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/28 10:52:45 ] 推薦標(biāo)簽:

  UI映射

  一個(gè)UI映射是一種機(jī)制,它存儲(chǔ)所有的定位器的測(cè)試套件在一個(gè)地方,方便修改UI元素的路徑標(biāo)識(shí)符或改變?cè)贏UT。測(cè)試腳本,然后使用UI地圖定位以被測(cè)試的元件;旧希琔I地圖是一個(gè)存儲(chǔ)庫(kù)的測(cè)試腳本對(duì)象,對(duì)應(yīng)于被測(cè)試的應(yīng)用程序的UI元素。

  是什么讓一個(gè)UI地圖有幫助嗎?其主要目的是測(cè)試腳本的管理更加容易。當(dāng)定位需要編輯,有一個(gè)中央位置輕松地找到對(duì)象,而不是通過搜索測(cè)試腳本代碼。此外,它允許改變的標(biāo)識(shí)符在一個(gè)地方,而不是在多個(gè)地方,以使更改在測(cè)試腳本,或?yàn)榇耸,在多個(gè)測(cè)試腳本。

  總之,一個(gè)UI地圖有兩個(gè)顯著的優(yōu)點(diǎn)。

  ● UI對(duì)象使用一個(gè)集中的位置,而不是讓他們分散在整個(gè)腳本。這使得腳本維護(hù)更高效。

  ● 神秘的HTML標(biāo)識(shí)符和名稱可以被賦予了更多的人類可讀的名字,提高測(cè)試腳本的可讀性。

  考慮下面很難理解的測(cè)試代碼(Java語(yǔ)言)。

public void testNew() throws Exception {
             selenium.open(http://www.test.com);
             selenium.type("loginForm:tbUsername", "xxxxxxxx");
             selenium.click("loginForm:btnLogin");
             selenium.click("adminHomeForm:_activitynew");
             selenium.waitForPageToLoad("30000");
             selenium.click("addEditEventForm:_IDcancel");
             selenium.waitForPageToLoad("30000");
             selenium.click("adminHomeForm:_activityold");
             selenium.waitForPageToLoad("30000");
}

  該代碼很難被那些不熟悉待測(cè)應(yīng)用(AUT)頁(yè)面源代碼的人理解。即使是待測(cè)應(yīng)用的固定用戶可能也很難理解這段腳本代碼的作用。一個(gè)更好的腳本可能是:

public void testNew() throws Exception {
             selenium.open(http://www.test.com);
             selenium.type(admin.username, "xxxxxxxx");
             selenium.click(admin.loginbutton);
             selenium.click(admin.events.createnewevent);
             selenium.waitForPageToLoad("30000");
             selenium.click(admin.events.cancel);
             selenium.waitForPageToLoad("30000");
             selenium.click(admin.events.viewoldevents);
             selenium.waitForPageToLoad("30000");
}

  使用備注和空格換行、再加上UI映射標(biāo)識(shí),下面的代碼更加易讀:

public void testNew() throws Exception {
 
             // Open app url.
             selenium.open(http://www.test.com);
 
             // Provide admin username.
             selenium.type(admin.username, "xxxxxxxx");
 
             // Click on Login button.
             selenium.click(admin.loginbutton);
 
             // Click on Create New Event button.
             selenium.click(admin.events.createnewevent);
             selenium.waitForPageToLoad("30000");
 
             // Click on Cancel button.
             selenium.click(admin.events.cancel);
             selenium.waitForPageToLoad("30000");
 
             // Click on View Old Events button.
             selenium.click(admin.events.viewoldevents);
             selenium.waitForPageToLoad("30000");
}

  有多種方法可以實(shí)現(xiàn)UI映射?梢詣(chuàng)建一個(gè)類或結(jié)構(gòu)體來存儲(chǔ)字符串變量,每個(gè)變量存儲(chǔ)一個(gè)定位信息;蛘,使用一個(gè)文本文件來存儲(chǔ)鍵值對(duì)。在Java中,一個(gè)包含鍵值對(duì)的屬性property文件可能是好的方法。

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