虚拟IP,顾名思义就是给自己网卡添加多个IP地址。
1、首先在场景运行之前,开启IP Spoofer功能)(Scenario->Enable IP Spoofer)
2、然后确认DHCP服务是关闭状态(由于,DHCP服务是自动获得IP),其实就是给电脑手动分配地址。我用的是无线,以无线为例,在网络连接中查看属性,DHCP服务是否开启(操作步骤:打开网络连接->打开无线网络的属性->选择Internet协议(TCP/IP)点击查看其属性->高级)
我的本一开始是开启状态,如图:添加IP地址的按钮是灰色不可用的
3、查看电脑目前具体的IP地址详细信息(运行->cmd->ipconfig /all;另外也可以右击网络连接图标->状态->支持->详细信息),然后根据详细信息,手动配置IP地址及DNS信息。
4、然后再点击高级按钮,可以看到添加IP地址的按钮可用了,然后就可以添加IP地址了,添加IP地址有两种方法
一种是可以手动添加IP地址(我试过,只能添加5个)
点击添加后
另一种是可以利用loadrunner自带的IP Wizard功能,给网卡批量添加IP地址,其具体的方法如下:
1)、打开IP Wizard功能(开始->所有程序->Mercury Lodrunner->Tools->IP Wizard)
题外话,若DHCP服务启动,IP Wizard功能是不可用的,会有如下提示
其解决办法,就是禁掉自动获得IP,手动添加静态IP,参照步骤2
2)、接着说打开IP Wizard后,选择第一项,添加ip,点击“下一步”
说明:loadrunner在做IP欺骗时,真实的虚拟了IP地址,该IP地址均真实存在,可以ping通,可以建立网络链接,在不使用时必须进行释放,否则这些IP地址将一直存在
3)、此步让输入server的IP地址,我是输入的要访问的服务器地址(不知道是否正确,后面步骤也提示此地址无效不可用,暂时不清楚究竟该输入什么,但是结果不影响),然后点‘下一步’
4)点击添加按钮
可以添加IP段,输入IP地址的第一个地址,和所要添加的数量即可
输入相应的第一个IP地址和数量之后,点击OK按钮,验证IP是否已使用
然后提示哪些IP没有被添加上(我是输入开始IP是192.168.2.2,总共数量是250个,然后提示信息如下:)
点击“确定”后,显示添加了哪些IP信息
5、 然后重启网卡,使新增的IP都生效(禁用网卡,启动网卡及可靠),然后查看IP是否生效(运行->cmd->ipconfig /all)
6、运行场景之前,设置IP虚拟是线程或者进程模式,在启动了IP欺骗之后,
在工具菜单下选择 tools--expert mode, 进入tools--options--general,选择是按进程还是线程来加载IP(必须在专家模式下且已经启用ip欺骗后 才能设置)
选择哪种方式运行(参考http://www.51testing.com/html/23/n-218923.html)
到此为止,虚拟IP设置完毕了,然后设置具体的场景之后,就可以运行脚本了。
在此需要说明一下,我的是一个脚本,不用添加多个generator,我看网上有的网友在运行之前还得手动添加多个IP,其中查了下,其实大家有一个普遍的误区::和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP),一开始我也烦恼,加压如何在generator手动添加多个IP,看了这句话,放心了,添加一个足矣。
运行后,如何查看是否真正地使用了不同的IP,其方法有两种:
1) 场景的日志打开,并且是扩展日志(Extended log),选择了“Date returned by server”项,运行后,选择某一个用户,右击,查看其日志内容
可以看到其IP地址,如下图所示:
2)在脚本的int函数中添加如下代码:
注题外话:若在脚本中直接运行,没有日志,若将此代码放在代码中间,直接运行脚本,系统会报错
然后在场景中新加载脚本,场景日志也是打开状态,选择标准日志即可,同样在日志中,可以查看当前虚拟用户的虚拟IP地址
并且看了几个不同的用户,他们的IP地址不同,由此可见实现了IP地址的虚拟!
注,我测试的系统server不允许同一个IP多次访问,所以在运行设置的时候,Duration中不设置运行时间,为了起到给系统加压的效果,可以开始的用户多些,且加载的间隔时间短些即可(比如,50个用户加压,可以一开始20个,间隔时间为10,这样我可以实现至少40个用户同时在使用系统)。需要说明的是,再次给系统加压,还是会出现server关闭的现象,但是失败的用户就1,2个左右,不是之前的大批量失败了。
参考:
http://zjjlover.blog.163.com/blog/static/17320904120101111384557/
http://www.51testing.com/html/23/n-218923.html
http://hi.baidu.com/tianlu_0_0/blog/item/1e4a8319b837a80b35fa41f3.html
http://blog.csdn.net/qingyi0711/article/details/7221662