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("[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运行。   



最新内容请见作者的GitHub页:http://qaseven.github.io/

   

目录
相关文章
|
网络协议 测试技术 Windows
loadrunner 场景设计-IP Spoofer-多ip负载生成器(Windows平台)
loadrunner 场景设计-IP Spoofer-多ip负载生成器(Windows平台)
110 0
|
监控 测试技术 定位技术
LoadRunner学习知多少--IP欺骗使用
使用IP欺骗功能时,需要将系统防火墙,杀毒软件关闭(如果有影响的话)   一、为什么要设置IP欺骗 1、 当某个IP的访问过于频繁,或者访问量过大时,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。
1897 0
|
JSON 测试技术 数据安全/隐私保护
Loadrunner 脚本开发-利用web_submit_data函数实现POST请求
Loadrunner 脚本开发-利用web_submit_data函数实现POST请求
112 0
|
网络协议 测试技术 Windows
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
129 0
|
测试技术
Loadrunner 脚本开发-从文件读取数据并参数化
Loadrunner 脚本开发-从文件读取数据并参数化
62 0
|
Java 测试技术 Android开发
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
79 0
|
测试技术
Loadrunner 脚本录制-通过代理录制脚本
Loadrunner 脚本录制-通过代理录制脚本
125 0
|
SQL 关系型数据库 MySQL
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
68 0