LoadRunner 技巧之 IP欺骗.docx
- 文档编号:6809526
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:12
- 大小:689KB
LoadRunner 技巧之 IP欺骗.docx
《LoadRunner 技巧之 IP欺骗.docx》由会员分享,可在线阅读,更多相关《LoadRunner 技巧之 IP欺骗.docx(12页珍藏版)》请在冰豆网上搜索。
LoadRunner技巧之IP欺骗
LoadRunner技巧之IP欺骗(推荐)
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("[enableIPspoofing]选项没有被启用!
");
lr_start_transaction("XX首页");//设置事务开始
web_url("",
"URL=
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t3.inf",
"Mode=HTML",
EXTRARES,
"Url=ENDITEM,
"Url=ENDITEM,
"Url=/favicon.ico","Referer=",ENDITEM,
"Url=ENDITEM,
"Url=ENDITEM,
"Url=ENDITEM,
"Url=ENDITEM,
LAST);
lr_end_transaction("XX首页",LR_AUTO);//设置事务结束
return0;
}
在VUGen中运行上面脚本,结果一定是:
[enableIPspoofing]选项没有被启用!
备注:
为什么要在脚本里加事物,这也是loadrunner11比较蛋疼的一个问题,当我修改过action循环次数后,再用Controller跑脚本时,Passed Transactions为显示为0。
当然,脚本本身没有任何问题,在脚本中添加事物可以预防这个问题的发生。
OK!
别急着保存脚本导入到Controller运行。
打开菜单Vuser --->run-timesettings
切换到Log选项
勾选所有log,不然等一下你会纳闷,为什么只能看到第一个虚拟用户的log。
切换到Miscellaneous选项
这里选择虚拟用户是以进程还是线程的方式运行。
下面你可能会遇到的问题是要对这里进行修改的。
做完这几步可以把脚本保存,导入到Controller运行。
验证IP欺骗
第一步:
选择Scenario--->Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。
(这里前面已经说过,这里只是再提醒一下)
第二步:
勾选“Tools”—“ExportMode”
第三步:
“Tools”—“Options”—“General”
这里又有一个设置以进程方式或线程方式进行性能测试。
这里和run-timesettings里的设置是什么关系?
这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。
第四步:
运行脚本,查看虚拟用户log
在脚本运行页面,点击Vusers...---->右键点击虚拟用户,在弹出的菜单中打开“showVuserlog”可以看到每个用户使用的IP是不同的。
当然,还有另一种查看日志的方式:
菜单栏:
Results ---> Results Settings...
C:
\Users\Administrator\AppData\Local\Temp 就是你运行脚本的目录,找到log\目录下面,也可以查看日志。
遇到的错误
在运行脚本的过程中发现有不少的错误请求,于是,找开查看发现以下错误提示:
“Error:
Socketdescriptornotfound. Hint:
theproblemmightbesolvedapplyingthefollowing:
(1)UpdateRun-TimeSettingstoRunVuserasaprocess.
(2)Addthefollowinglineintomdrv.dat,[lr_socks]section:
'ExtCmdLineConc=-UsingWinInetYes'.”
解决方法:
1、根据错误提示,在run-timesetting中的Miscellaneous项中设置“runvuserasaprocess”;(前面已将教怎么设置)
2、...\Program Files (x86)\HP\LoadRunner\dat\mdrv.dat
查找[lr_socks] 在后面添加“ ExtCmdLineConc=-UsingWinInet Yes ”,如下:
..............
[lr_socks]
ExtPriorityType=hook
WINNT_EXT_LIBS=lr_socks.dll
WIN95_EXT_LIBS=lr_socks.dll
LINUX_EXT_LIBS=liblr_socks.so
SOLARIS_EXT_LIBS=liblr_socks.so
HPUX_EXT_LIBS=liblr_socks.sl
AIX_EXT_LIBS=liblr_socks.so
LibCfgFunc=lr_socks_configure
ExtMessageQueue=0
SecurityMode=On
ExtCmdLineConc=-UsingWinInetYes
........
3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将webpagediagnostics项改为:
Enable(这一招只能说眼不见心不烦),我觉得还有更好的解决办法。
IP欺骗的理解误区
理解误区:
1、和Generator搞混。
以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。
(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP。
)
2、在上一个错误基础上,对于同一个脚本,创建多个Vuser执行组,然后以不同IP选择同一个物理Generator来执行。
( 实际上,在场景中除非需要在这个Generator上运行多个不同脚本,否则没有必要多次以不同IP选择。
)
其实只要记住两个要素即可使用这个功能:
1、 用IP wizard 添加多个IP;
2、在Controller中通过Enable IP Spoofing。
而在使用IP欺骗功能上应该注意三点:
1、虚拟IP是同一个Generator上的多个IP,这种分配过程由Controller自动来进行;
2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复的现象,否则将随机分配不同的IP。
3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 技巧之 IP欺骗 技巧 IP 欺骗
