以下將說明如何使用VS2012中的Web效能和負載測試專案,使用「擷取規則」、「資料來源」及「參數化Web伺服器」來建立一個由使用者登入權控系統後,再切換到Portal的Web測試。
前言
以下將說明如何使用VS2012中的Web效能和負載測試專案,使用「擷取規則」、「資料來源」及「參數化Web伺服器」來建立一個由使用者登入權控系統後,再切換到Portal的Web測試。
實作
1.檢查IE中的Microsoft Web TestRecorder 10.0 Helper(Version 11.x.x.x,雖然它的版本是11,但名稱還是叫10.0哦) 附加元件是否有啟用,如下圖!
2.建立「Web效能和負載測試專案」,預設會建立「WebTest1」,如下圖,
3.「加入錄製」,開始錄Web測試,如下圖,
4.錄製好了之後,可「執行測試」檢查看看剛才錄製的Web測試是否可正常執行,如下圖,
5.使用「加入擷取規則」來取得權控系統的Token,來傳遞給Portal系統
5.1.從權控系統的頁面取得這些資訊,先看一下第4步測試結果中「SCAppDataPrepare.ASPX」的內容,來看要如何擷取出資訊!如下圖,
5.2.因為頁面會產生這些訊息,所以就可利用「加入擷取規則」功能,如下圖,
5.3.使用「加入擷取規則」功能中的「擷取文字」來建立 內容參數(我建立了priSID及priPrin 2個內容參數)。如下圖,
5.4.建立內容參數後,就可將這些參數指定到Portal的「表單張貼參數」之中,如下圖!
6.設定完成後,執行測試看看有沒有問題!
7.因為是權控登入,如果要測試多人的話,那就要加入資料來源,以下我使用csv檔來當資料來源
7.1.建立userinfo.csv(ANSI編碼)
7.2.在Web測試中加入資料來源
7.3.有了資料來源後,就可以將權控的登入頁面參數Bind到資料來源中的欄位,如下圖
8.設定完成後,再執行測試看看有沒有問題! 如果沒問題的話,就可在測試結果中「編輯回合設定」來設定「每一資料來源資料列一次執行」後,再執行一次。
9.如果怕未來測試的網站會改變的話,可以使用「參數化Web伺服器」,將Web Site的名稱使用參數來代替
結論
因為系統的串接上有些參數是從頁面動態參生出來的,所以可以使用「加入擷取規則」功能中的「擷取文字」來取得這些內容再傳遞給需要的頁面。
另外,有些共用的會跑到的頁面,如登入、登出頁面,可使用「擷取Web測試」抽成共用的測試,同時也可加入判斷(如圖中,我判斷 getFunId 是否存在,存在才執行某些項目),如下圖,
以上是這陣子跟 亂亂寫、Jacky及客戶一同測試的一些心得,非常感謝他們,同時也跟大家分享。
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^