第一種,相對簡單
充分利用LR Controller里面Group的功能。
新建一個場景把3個腳本都添加進來,在
Edit Schedule中選擇“Schedule by Group”的方式,在StartTime中設置3個腳本的運行順序為“Start
when Group xxx finished”,并在“Scenario Start
Time”中設定場景在晚上的運行啟動時間。設定完定時執行場景后,點擊StartScenario按鈕,會出現一個倒計時窗口,這樣在固定的某個時間
上,測試場景中的3個腳本將乖乖的按照設定的先后順序進行測試。注意,如果沒有點擊StartScenario按鈕激活測試,是不會真正進行測試的。(感
謝Athenst朋友的提醒,^_^)
第二種,比較靈活
我們把應用場景稍微擴展一下,假設其中1、3場景只有一個測試腳本,而核心業務場景由數據錄入、數據查詢、數據上
報3個腳本組成,同樣的,3個場景仍需按順序進行測試。這時如果采用第一種方式,由于第2個場景有3個腳本,所以第三個腳本的啟動時間就是一個問題了。由
于Controller中每個腳本都對應一個Group,而且GroupName不能重復,這時第三個場景的StartTime中“Start
when group
finished”則只能是選擇第二個場景中的某個Group,而并非是第二個場景的3個腳本都完成之后再進行,無法達到我們的初衷。
這時,可以通過命令行的方式來進行。
首先創建并設置好3個測試場景,再創建一個一個批處理程序按先后順序調用這3個場景進行測試,最后通過Windows的定時任務設定批處理的執行時間。
批處理示例如下:
cls SET M_ROOT="D:\Program Files\MI\Mercury LoadRunner\bin\" %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_1.lrs" -Run %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_2.lrs" -Run %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_3.lrs" -Run |
這種方式比較靈活,但需要注意在Result Settings中設置“Automatically create a results directory for each scenario execution”,以免后面的測試結果覆蓋了前面的。
另外補充一下,如果想對某個腳本進行50、100、150...等用戶數遞增的測試,也可以用以上方法實現,但需要注意的是將事務名稱區分開以便進行分析。
原文轉自:http://www.anti-gravitydesign.com