某web項目需求信息:要求在用戶的登錄時間小于5秒(包含登錄中下載所有資源的時間)情況下的最大用戶并發數。
場景描述:以小規模的用戶數每格一定的時間遞增用戶,遞增的用戶隨正在運行的用戶一起并發登錄。每個用戶的響應時間超過5秒就認為是錯誤。
LoadRunner實現方式:
1、錄制腳本并把登錄過程定義為一個事務,在事務前加一集合點;
2、使用手動方案,設置用戶數為較大的用戶數;
3、設置集合策略,選擇“釋放:當達到100%運行用戶時”;
4、設置加載方式為“每x秒加載y個用戶”,數字根據具體情況設置;
5、設置持續時間為“無限期運行”;
6、在Controller的運行時設置中設置“瀏覽器仿真”,選中“下載非HTML資源”和“每次迭代模擬一個新用戶”;
7、在“Internet協議首選項”的高級設置中,選中“在本地保存快照資源”和“出現錯誤時激活快照”;
8、接上步,單擊“設置高級選項”右側的“選項”按鈕,在彈出的窗口中設置“HTTP請求連接超時”“HTTP請求接收超時”“步驟下載超時”均為5秒,并選擇“由資源引起的步驟超時是一條警告信息”為否。
9、開始運行腳本。
輔助信息:
1、可以參考“從Controller中監視VU執行腳本的情況”了解Virtual User的執行情況。
2、可在腳本中適當增加檢查點。
3、以上第8步可能不太合理,你看出來了嗎,一定還有更好的方式吧^_^
從Controller窗口中查看當前腳本中的參數和vu的迭代次數的腳本實例:
#include "as_web.h"
static int iteration;
Action()
{
char *pp;
//請自定義參數文件NewParam
pp="value={NewParam}";
//在vugen調試窗口中顯示當前參數值,在Controller窗口中不會顯示出來
lr_output_message("Para is:%s",lr_eval_string("{NewParam}"));
//在Controller監視窗口中顯示當前參數值和當前vu迭代次數,在vugen調試窗口中不會顯示出來
lr_vuser_status_message("Para is:%s,%dTimes Iteration",lr_eval_string("{NewParam}"),++iteration);
return 0;
}
運行場景時在Controller運行窗口中單擊Vusers按鈕(開始方案按鈕的下面),彈出窗口中可看到信息。
文章來源于領測軟件測試網 http://www.kjueaiud.com/