LoadRunner 使用IP欺骗的原因
、 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。
、 某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。
LoadRunner 使用虚拟IP测试流程设置虚拟IP地址
前提条件:load Generator机器必须使用固定的IP,不能使用动态IP 确定网络中不冲突的IP地址
操作步骤:
、打开:开始-〉程序-〉loadrunner-〉tools-〉ip wizard
(说明: 增加新IP选择第一项; 使用保存的文件增加IP选择第二项 释放已经设置的IP选择第三项。)
、选择第一项, 点“下一步”
、此步让输入web server的IP地址(尚不清楚有何意义),不输入,直接点‘下一步’,说明:使用remove按钮可以删除选定的虚拟IP。
、点add按钮(说明:‘检查新IP是否已经存在’选项并没有起作用)根据输入的IP的第一个值和数量,自动添加到虚拟IP列表中,
、点ok按钮 点“完成”按钮 (说明:使用Save as…可以将本次增加的IP保存成.ips文件,下次再使用时就可以直接选择此文件了。 )
、点‘OK’按钮即可。
、现在需要重启计算机。 (重新启动计算机后,设置的虚拟IP都生效了,此时使用ping会发现都能ping通,并且本机的IP也被改成了第一个虚拟IP地址。)
、确认虚拟IP是否都生效的方法:在运行中输入cmd,在命令窗口录入ipconfig/all,然后就能看到已经生效的所有IP。 LoadRunner 使用虚拟IP
操作步骤:
、选择Controller 专家模式(Expert Mode),选择IP地址模式。只有在专家模式下操作。
、在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。
、按Generators按钮,设置虚拟用户生成器,将虚拟IP地址都添加进去,并连通。
、连接成功的虚拟用户生成器会在工具栏中显示 然后设计方案, 运行方案。
、使用虚拟IP测试完成后 打开IP Wizard,释放所有虚拟IP。
、重新启动计算机。
设置如下:当前工作机器
通过ipconfig
可以删除ip
ip欺骗成功,虚拟ip已经模拟出来了
记得这个虚拟ip一定是工作机器的ip网关 和nginx需要能ping通
char * ip;
ip=lr_get_vuser_ip();
if (ip)
{
lr_vuser_status_message("The ip address is %s",ip);
}
else
lr_vuser_status_message("IP spoofing disabled"); 如果出现语法错误,将变量申明char *ip放在脚本页面端(在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息) 也可以:
//验证IP欺骗代码
char * ip ;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("当前虚拟用户使用的IP为: %s", ip);
else
lr_output_message("[enable IP spoofing ]选项没有被启用!");
http://bbs.51testing.com/thread-531726-1-1.html
https://blog.csdn.net/sd4493091/article/details/54894479
https://blog.csdn.net/fygkchina/article/details/41841915
https://www.jianshu.com/p/49b35d56045d
https://blog.csdn.net/wangxianglian/article/details/7020425
虚拟ip在使用过程中遇到的问题:
问题1:
在controller中,运行时,报如下错误“Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.”
解决方法:
1、根据错误提示,在run-time setting中的Miscellaneous项中设置“run vuser as a process”;在安装目录的dat文件夹中查找mdrv.dat,找到[lr_socks]段,在最后添加“ExtCmdLineConc=-UsingWinInet Yes”一句;
2、在选择了expert mode后,选择option->general,选中“ip address allocation per process”;
3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将web page diagnostics项disable掉(该路径是在loadrunner11中的位置,若是loadrunner8.0,则在Diagnostics--->Distribution,disable Web Page Diagnostics选项)
解决方法:
1.禁用其他多余网卡,将要用的网卡设置为静态IP地址;
2.如果操作系统是win7的,需要点击右键,选择“以管理员身份运行”启动IP wizard。(若将DHCP client禁用,则会发生IP wizard无法添加IP 地址的问题,因此一定要慎重~)
解决方法:
该问题是由于禁止了DHCP client服务,在运行中输入servics.msc,右键启动该服务即可。
Loadrunner 运行场景时提示vuser_init.c(12): Error: 错误解决方案
Loadrunner 运行场景时提示“
vuser_init.c(12): Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.
ExtCmdLineConc=-UsingWinInet Yes”
解决方案:
1.运行场景时将Multithreading设置为 “Run Vuser as a process”
2.在目录“.\HP\LoadRunner\dat\mdrv.dat”文件的[lr_socks]节点增加“ExtCmdLineConc=-UsingWinInet Yes ”如图所示:
3.菜单栏中点击Diagnostics->configuration项,将web page diagnostics项改为:Enable ()