實現LoadRunner多個場景的順序執行
應用場景 假設有3個不同的測試場景,分別為并發登錄、核心業務、可靠性測試,3個場景有先后執行順序。由于白天測試機器另有用處,只能在晚上進行性能測試,這時我們的期望是能否把測試場景都設定好之后晚上自動運行,第二天我們回來看測試結果呢? 答案是肯定的,可以有兩種方式實現。
第一種,相對簡單充分利用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...等用戶數遞增的測試,也可以用以上方法實現,但需要注意的是將事務名稱區分開以便進行分析。
posted on 2014-04-28 10:31 順其自然EVO 閱讀(561) 評論(0) 編輯 收藏 所屬分類: loadrunner