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

  UI映射

  一個UI映射是一種機制,它存儲所有的定位器的測試套件在一個地方,方便修改UI元素的路徑標識符或改變在AUT。測試腳本,然后使用UI地圖定位以被測試的元件;旧,UI地圖是一個存儲庫的測試腳本對象,對應于被測試的應用程序的UI元素。

  是什么讓一個UI地圖有幫助嗎?其主要目的是測試腳本的管理更加容易。當定位需要編輯,有一個中央位置輕松地找到對象,而不是通過搜索測試腳本代碼。此外,它允許改變的標識符在一個地方,而不是在多個地方,以使更改在測試腳本,或為此事,在多個測試腳本。

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

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

  ● 神秘的HTML標識符和名稱可以被賦予了更多的人類可讀的名字,提高測試腳本的可讀性。

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

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

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

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映射標識,下面的代碼更加易讀:

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

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

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