IP欺騙也是也loadrunner自帶的一個非常有用的功能。
需要使用ip欺騙的原因:
1、當某個IP的訪問過于頻繁,或者訪問量過大是,服務器會拒絕訪問請求,這時候通過IP欺騙可以增加訪問頻率和訪問量,以達到壓力測試的效果。
2、某些服務器配置了負載均衡,使用同一個IP不能測出系統的實際性能。LR中的IP欺騙通過調用不同的IP,可很大程度上的模擬實際使用中多IP訪問和并測試服務器均衡處理的能力。
3、有一些網站會限制同一個用戶同一個IP 的登陸。為了更加真實的模擬實際情況,LoadRunner允許運行的虛擬用戶使用不 同的IP 訪問同一網站。
IP欺騙的設置方式
打開HP LoadRunner ---->Tools ---->IP Wizard

什么情況?!我們需要為自己的電腦配置固定的IP ,配置固定IP的方式,你懂的!
下面進入正式的配置過程:
第一步:

create new setting 創建新的設置
當第一次使用IP欺騙或已經釋放了添加的IP時,就需要選擇這一項創建新有設置。
Load previous settings fro 讀取IP列表文件
從以前設置的IP地址列表中讀取IP地址
Restore original setting 釋放已經設置的IP
釋放已經添加的IP 地址。
選擇默認選中項:create new setting (創建新的設置) ,點擊“下一步”
第二步:

讓輸入服務器的IP地址,Loadrunner通過該地址更新路由表。
客戶端計算機上添加新的IP地址后,服務器需要將該地址添加到路由表,以便能夠識別返回到客戶端的路由。如果服務器和客戶端具有相同的子網掩碼、IP 類和網絡,則不需要修改服務器的路由表。
如果客戶端和服務器計算機之間有一個路由器,則服務器需要識別經過該路由器的路徑。確保將以下路由添加到服務器路由表:從 Web 服務器到路由器的路由,以及從路由器到負載生成器計算機上的所有 IP 地址的路由。
這里可以不做任何添加,點擊“下一步”。
第三步:

默認顯示本機的IP 地址,當然,我們還需要添加更多的IP 。點擊“Add”進入IP添加頁面。
第四步:

Class C、Class B、Class A 表示,我們要使用是的A類、B類還是C類IP地址。don't use any of these 不要使用任何,它會把默認的IP與子網掩碼清空。
(C類最多只能模擬255 個IP,如果你的需要更多,那么就需要使用A 類或B類)
from ip 輸入框中輸入起始ip
Number to 輸入框中輸入ip地址的個數,也就是說我們需要成多少個用于欺騙的IP
(我上面的配置是從110開始,按順序生成5個)
Submask根據IP類型輸入正確的子網掩碼
選中“verify that new ip addresses are not already used”,點擊“OK”。

此時IP Wizard會自動按照設置生成IP地址,并且將已經占用的IP列出。點擊“完成”
第五步:

點擊“save as”按鈕,可以將我們設置的IP 保存成一個文件,以后再設置的時候,是在第一步里,我們可以選擇第二個選項(Load previous settings fro),從文件導入IP 。
點擊“ok”,IP Wizard開始幫我們成成IP 。
在命令提示符號輸入ipconfig命令驗證:

第六步:
打開loadrunner ---> Controller ,選擇Scenario--->Enable IP Spoofer ,此項打勾后表示允許使用IP欺騙。
創建測試腳本(IP欺騙)
經過上面的配置,你真的已經知道如何使用IP欺騙了么?或者你真的理解了IP欺騙?如何證明你已經使用了IP欺騙?
Action() { //驗證IP欺騙代碼 char * ip ; ip = lr_get_vuser_ip(); if (ip) lr_output_message("當前虛擬用戶使用的IP為: %s", ip); else lr_output_message("[enable IP spoofing ]選項沒有被啟用!"); lr_start_transaction("百度首頁"); //設置事務開始 web_url("www.baidu.com", "URL=http://www.baidu.com/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t3.inf", "Mode=HTML", EXTRARES, "Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM, "Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM, "Url=/favicon.ico", "Referer=", ENDITEM, "Url=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1440_2031_1945_1788&t=1362056239875", ENDITEM, "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247256", ENDITEM, "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247969", ENDITEM, "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20%E5%8D%9A%E5%AE%A2%E5%9B%AD&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056251016", ENDITEM, LAST); lr_end_transaction("百度首頁",LR_AUTO); //設置事務結束 return 0; } |
在VUGen中運行上面腳本,結果一定是:[enable IP spoofing ]選項沒有被啟用!
備注:為什么要在腳本里加事物,這也是loadrunner11比較蛋疼的一個問題,當我修改過action循環次數后,再用Controller 跑腳本時,Passed Transactions 為顯示為0 。當然,腳本本身沒有任何問題,在腳本中添加事物可以預防這個問題的發生。
OK! 別急著保存腳本導入到Controller運行。打開菜單Vuser --->run-time settings
切換到Log選項

勾選所有log,不然等一下你會納悶,為什么只能看到第一個虛擬用戶的log。
切換到Miscellaneous選項

這里選擇虛擬用戶是以進程還是線程的方式運行。下面你可能會遇到的問題是要對這里進行修改的。
做完這幾步可以把腳本保存,導入到Controller運行。