在前一個項目,應客戶的要求要出一個壓力測試的文檔,試用了一把VS 2005 for Tester,中間也用了一下Load Runner,感覺的確是專業,後來不幸被Boss發現放話:沒有License的東東不許隨便用,於是只能老老實實用VS 2005做Web壓力測試工具了。前一個項目是趕鴨子上架,囫囵得用了一把,在現在的這個項目中有時間做了一下研究,感覺VS 2005 for Tester也是相當得不錯,用的不好只能怪自己學業不精了。今日偶爾得閒,寫下這篇blog,沒來狀態,用Q&A的形式記錄:
Q1: WebTest是否支持錄制AJax的腳本,支持Https?
A1: 很不幸的告訴你,不可以。但是推薦大家一個工具Fiddler,它是IE的插件,可以監視IE的會話,更重要的是可以把會話保持成WebTest文件。據傳,Visual Studio 2008的WebTest支持AJax.
Q2: LoadTest如何監控SQL服務器和Web服務器的性能計數?
A2: Load Test的Run Settings可以管理Counter Set,把需要監控的計算機加進來。要求使用Load Test的Windows 用戶必須是作為被監控計算機的Administrators用戶組成員或者Performance Monitor Users用戶組的成員。
Q3: 有這樣一個WebTest,包含登錄操作和其它一些列其他的業務操作。LoadTest是否支持N多個不同的登錄用戶,每個用戶只登錄一次?
A3: 好消息是可以。壞消息是需要編程實現。WebTest可以添加DataSource,我們可以把模擬操作的用戶名和密碼放到CVS文件或者數據庫表中,然後新建一個DataSource指向這個用戶資料。在WebTest的登錄請求可以用{{dsCredentials.User#txt.UserName}}的形式賦給某個Form Post Parameter,這樣WebTest就可以支持用不同帳號登陸了。WebLoad可以按循序、隨機等方式獲取這些賬號。WebTest和WebLoad支持自己編寫的插件,可以編程實現處理讓每個用戶只登錄一次。但是到目前為止,我還沒有成功過。我的做法是記住某個用戶第一次登陸的Cookie,然後再下次請求時使用這個CookIE,以恢復Session,但是至今仍然未遂,感覺相當得郁悶。有這方面需要的兄弟姐妹們可以向我要代碼,一同研究一下。