標籤:execution sts 而且 setting 方式 upn tar 測試結果 tracking
應用情境
假設有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...等使用者數遞增的測試,也可以用以上方法實現,但需要注意的是將事務名稱區分開以便進行分析。
註:以上內容部分總結自51testing論壇。
【轉】實現LoadRunner多個情境的順序執行