測試步驟之場景設計(Controller)
進入手工場景
准備好腳本后就可以進行場景設計和執行場景了,從VuGen中進入,見下圖:

進入后第一個為目標場景,選擇第二個更靈活的手工場景,我的目標人數200,第三個為結果保存地址,最好放到空間比較大的盤中,其他默認即可。

確認后進入場景設計頁,也可以在【HP LoadRunner】—【Applications】—【Controller】單獨進入。選擇第一個手工場景,選擇左邊你需要運行的腳本,點擊【Add】添加至場景腳本中,點擊確定就ok了,后面再設置虛擬用戶即可。

成功進入后的場景如下,左上是腳本組,也就是虛擬用戶需要運行的腳本,可以設置多個腳本;右上是服務水平協議,暫時不用管;左下是場景計划,用於設置場景運行時間和用戶加載退出方式等,右下是交互計划圖,看起來很直觀,跟你的設置有關。

進入目標場景
一般手工場景能靈活地按照需求來設計場景模型,目標場景是測試性能是否能達到預期的目標。場景的設計大同小異,這里以手工場景為例。

可以看出,兩種場景很相同,只是Schedule配置略有差別。

目標場景的五種目標:用戶數(Virtual Users)、點擊率(Hits per Second)、每秒事物數(Transaction per Second)、事物響應時間(Transaction Response Time)和每分鍾處理的頁面數(Pages per Minute)。
點擊右下方的【Edit Schedule Goal】,進入設置界面。

知道怎么創建場景了吧,好的,稍等下,我們先做點准備工作。
IP欺騙技術
本地設置靜態IP
由於是並發用戶測試,我了解到LR中,在場景運行時,每台負載發生器計算機上的Vuser都使用其計算機固定的IP地址,這樣不能模擬用戶使用不同計算機的真實情況。
於是,我們得啟用它自帶的IP欺騙功能,需要注意IP Spoofer要在連接Load Generator之前啟用,並且各負載發生器需要是固定IP,不要使用動態IP(DHCP)。如下圖:

設置靜態IP的流程我就不多說了,網上一大把,Dos命令下,ipconfig /all可以查看當前的IP,網關和DNS服務器。照着手動修改,不然會斷網的。當然前提是你之前也連網了的。
IP Wizard設置
設置好靜態IP后,接着再設置IP Spoofer,選擇【開始】—【所以程序】—【HP LoadRunner】—【Tools】—【IP Wizard
】,如下圖所示

第一個是創建新的設置,以前創建過的選擇第二個導入,第三個是釋放IP,一般測試完后,需要釋放你添加的IP,不然占用多了IP,有時會與別人沖突的。
點擊【下一步】,如果計算機有多個網卡,要選擇用於這些地址的網卡,再點擊【下一步】,在彈出的對話框中設置服務器的IP地址,也就是腳本中請求的地址。
注:服務器與負載機在同一網段的不用設置。

點擊【下一步】后,如下圖,再點擊圖中的【Add按鈕】,添加IP。

於是到了地址添加界面,下圖A,B,C類地址是根據你虛擬用戶數來選擇的,C類地址只能容納255個主機,超過這個數就選擇其他的兩類地址。
注:B類地址范圍:172.16.0.0—172.31.255.255 ;A類地址范圍:10.0.0.0-10.255.255.255
From ip是起始IP,number to add是增加多少,網關不用管,設置好后,點擊【OK】

這就是剛生成的地址,錯了就選中點擊【Remove】,再重新生成。

如果生成過程中有下面提示,是指下面地址已經有人使用了,確定后,再重復添加其他地址,這時的From ip就是你最后的那個地址,缺少多少個就添加多少個。

最后我生成了200個IP,點擊【完成】

出現最后確定頁,點擊【OK】

下面就Dos黑窗口,呼呼的往下拉,重啟計算機,網絡協議才生效,使用ipconfig命令就可以查看是否添加成功了。如下圖

啟用IP欺騙
添加成功后,如下步驟
一,打開conreoller,點擊【Scenario】—選【Enable ip spoofer】(允許使用ip欺騙)。
二,然后在conreoller中,點擊【tools】—選【expert mode】。
三,最后再點擊【tools】—【options】—【General】中關於線程還是進程的設置,這個選項一定要與當前場景的模式相匹配,也就是說使用本地虛擬IP測試時需要選擇線程方式,使用負載生成器使用虛擬Ip測試時需要選中進程方式。我的是本地,選的Process。
查看Vusers IP
怎么查看這些IP呢,Controller的運行頁,運行場景(Run),在Vusers中,狀態列中右鍵可以查看Vuser日志,彈出的提示框頭幾行就有顯示當前使用的IP.

注:不得不說我搞了很久還是沒實現這個,原因可能是服務器和客戶機不在同一個網段,輸入了服務器IP,但是LR的IP向導卻沒在windows的Temp目錄下生成腳本(bat文件),導致不能更新服務器路由表,然后查看Vuser日志也就沒顯示IP……多次查詢資料后又發現win7不支持ip欺騙,即使啟用成功,日志顯示的就算是不同IP,但抓包會發現請求依舊為同一個固定IP。
添加Load Generators
說到這里,我再提一下,怎么自行添加負載發生器(Load Generators),如下圖所示

一般安裝好loadrunner后,都會有localhost這個負載機,點擊【Load Generators】后如下

點擊【Add】如下,輸入Name,選擇系統,點擊【Ok】即可,注:Name不要隨便輸入,一般是localhost或者負載機IP地址;Platform指的是負載機的系統。

新增負載器后,測試鏈接,點擊【Connect】,如下

成功后就會顯示狀態為Ready,我這是本地使用了IP欺騙的情況,如下圖

遠程使用其他負載機時,就輸入其他負載機的IP即可,記住遠程連接之前要在其他負載機【開始】—【所以程序】—【HP LoadRunner】—【Advanced Setting】—【Loadrunner Agaent Process】啟動LR agaent代理。
場景的集合點設置
登錄模塊需要測試並發用戶,於是前面我在腳本中插入了集合點,需要在運行場景前進行設置,當用戶輸入驗證碼后,全部用戶到達集合點時,釋放用戶並進行登錄請求,就模擬了用戶同時登錄的情況。
如下圖
依次點擊【Scenario】—【Rendezvous…】

點擊【Policy】進行設置,第一個指所有的用戶達到集合點才釋放,第二個指所有運行的用戶達到集合點就釋放,第三個指有X個用戶數量達到集合點就釋放,最后一個是設置等待時間的,如30秒,30秒內用戶達到指定的數量,就開始執行場景,30秒內為達到用戶指定的數量,也開始執行場景,不再等待。一般選擇第二個就行,點擊【ok】

運行場景時,可以在上個圖片中,啟用或關閉集合點,根據情況也可以手動點擊【Release】按鈕釋放集合點。
場景Schdule配置
Schedule基礎配置
手動場景Schedule配置,位置如下,左上的場景組可根據需求自行設置

Schedule name 場景名稱,1場景,2組場景(多個腳本可選擇此模式),3真實環境模式(較靈活,很常用)4基本模式,上面的四個按鈕暫時不用管,如圖默認即可

Schedule目標配置
下面接着是目標設置,雙擊【Initialize】行,進入初始化用戶設置,一般選擇第三個腳本運行前初始化所有用戶,點擊【ok】

接着雙擊【Start vusers】行,進入開始用戶設置,設置用戶數200,每15秒10用戶,點擊【ok】

接着雙擊【Durations】行,進入運行時間設置,單交易場景一般運行10-15分鍾即可,點擊【ok】

注:場景運行時,設置了運行時間,就會忽略腳本迭代的次數,簡單點說就是時間沒到,腳本就一直重復運行。
最后雙擊【Stop Vuser】行,進入用戶停止設置,設置和Start Vusers一樣即可,點擊【ok】

以上運行的場景大概設置完了,可以根據自身需求進行更改。
場景圖簡介
下面說說右邊的場景圖,橫軸縱軸的意義就不說了吧,左斜線代表用戶開始運行,中間就是正在運行的用戶,右邊當然就是退出的用戶了,上面的幾個按鈕自行研究。
注:使用筆那個按鈕可以自行拖動設置,+號-號按鈕就是放大縮小,很好玩的,場景運行時,該頁的用戶圖也會動態改變的。

場景運行頁
設置好了,開始跑吧,點擊【Run】按鈕,進入運行場景頁。

點擊后下圖所示,左上是用戶狀態表,狀態:關閉(Down),掛起(Pending),初始化(Init),就緒(Ready),正在運行(Run),集合點(Rendezvous),完成並通過(Pass),完成但失敗(Failed),錯誤(Error),逐步退出(GradualExiting),退出(Exiting),停止(Stopped)。
右上可查看事務,用戶通過或失敗信息。
中間是各種場景監視圖表,雙擊可切換,單擊放大。
最下方顯示的是圖表各參數的數據,可查看最大、最小,、平均值。

Windows資源監視器設置
默認情況下,windows監視器是沒有數據的,需要我們自行添加。
右鍵windows資源圖—【Add Measurements】—點擊【Add】—輸入Name—點擊【OK】
Platform選擇對應的負載機系統。(注:如果需要監視其他負載機或服務器,Name輸入對應IP即可,監視本地時,輸入localhost即可。)

下圖是添加機器后的設置,下面的資源度量指標,可以根據需要自行設置,點擊【OK】

稍等片刻后,下方就是運行時的windows資源度量指標,用來輔助分析數據和性能瓶頸,服務器資源的監控類似,但Linux類的一般都使用第三方監控工具。

運行場景Start Scenario
所有的設置到這里基本完成,點擊【Start Scenario】,開始Run吧。

耐心等待時,也可以查看運行時的各種圖表,Vuser按鈕中可查看單個用戶的日志(show user log)很有用,前提是在RuntimeSetting中開啟擴展日志功能。。

添加用戶
在負載過程中如果發現系統壓力比較小的話,可以自行增加用戶數,點擊【Vusers】—【Add Vusers】—輸入add數—確認腳本—點擊【OK】。
見下圖說明,注:新增加的用戶處於“Down”狀態,需要點擊Vuser圖中的“Run”按鈕,才能讓用戶運行。

場景運行的結果會自動保存,退出的時候注意存儲位置,以免下次運行時把本次的結果覆蓋了。
