【Loadrunner winsocket菜鸟实践五】IP欺骗设置注意事项,以及在Vuser脚本中参数化ip欺骗设置虚拟ip

       背景:由于项目性能测试需要,最近玩socket,遇见了服务器限制ip请求,于是采用ip欺骗,但是设置过程中,总是报“找不到元素”,于是网上查找资料,基本上大同小异,经过反复分析和对比这些资料,找到一些让我受启发和解决问题的信息,接下来介绍一下解决问题的注意事项和vuer中参数化过程,至于具体ip欺骗大部分设置过程,可参考度娘即可。

注意事项1:在设置ip欺骗前,一定要确定本地ip为固定ip,而不是DHCP(本地连接—>属性—>internet协议版本4(tcp/ipv4)-->属性—>高级-->ip设置:查看ip地址(如图)),具体原因,我猜是因为DHCP是自动获取路由分配的ip,会与ip欺骗设置时起冲突,所以导致设置失败。

解决方法:设置静态ip(如下图)后,IP设置就显示设置的静态IP了,此时重新设置ip欺骗就ok了

注意事项2:在设置ip欺骗时,有些网上资料中偶尔会缺少一个选择网卡步骤,原因是因为有些pc是存在多网卡的,所以需要选择(如图)

解决方法:在网络连接中,查看本地连接图标中,就显示目前使用的网卡信息

注意事项3:如何在vuser中使用ip欺骗设置的ip,脚本如下:

vuser_init()
{

    char *ip;
    int rc;
	lrs_startup(257);
	ip = lr_get_vuser_ip();
	lr_output_message("The IP address is %s" , ip);
	lr_save_string(ip,"ip_url");
    if(ip){
		lr_output_message("The IP address is %s" , ip);
		rc=lrs_create_socket("socket6", "TCP", "RemoteHost=<ip_url>:5555", LrsLastArg);
		if (rc==0){ 
		   lr_output_message("Socket  was successfully created "); 
		}else{
			lr_output_message("An error occurred while creating the socket, Error Code: %d", rc); 
			 return -1;
		}	
	}
	else{
		lr_message("IP spoofing disabled");
		
		return -1;
	}
    return 0;
}

要验证ip欺骗设置,在脚本中是否使用成功,这里要注意一些小细节4点:

1:获取ip,要引用 lr_get_vuser_ip()方法函数; 

2:参数化前,要将获取的ip值存入参数化属性名中,不能直接引用,否则无法获取到;

3:vuser中,不能直接运行脚本使用ip欺骗,因为获取ip值为null,只有在controller运行场景,通过查看日志,才能确定是否获取和引用成功

4:使用ip欺骗,做完测试后,需要释放所有IP,否则会占用该网段的ip地址,导致其他用无法正常使用

 

参考资料:

https://www.cnblogs.com/fnng/archive/2013/03/02/2940284.html

https://jingyan.baidu.com/article/fec7a1e5f16a291190b4e73b.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LoadRunner 参数化可以让你模拟真实场景并生成更真实的负载。下面是设置脚本参数化的步骤: 1. 打开 VuGen,并录制一个脚本。 2. 选择需要参数化的数据。例如,如果在脚本提交了一个表单,其包含一个用户名和密码字段,则可以选择要参数化的用户名和密码字段。 3. 在脚本插入一个参数。 4. 设置参数的属性,例如数据类型、参数名称、初始值、最小值、最大值等。这些属性将决定参数化的方式。 5. 在脚本使用参数。例如,在提交表单时,使用参数化的用户名和密码值作为输入。 6. 运行脚本并检查结果。如果结果正确,那么你就成功地设置参数化。 下面是一些常见的参数化技术: 1. 列表参数化:用于替换一个列的值。 2. 文件参数化:用于替换一个文件的值。 3. 随机数参数化:用于生成随机数来替换一个值。 4. 数据库参数化:用于从数据库获取数据并替换一个值。 在设置参数化时,应该特别注意以下一些事项: 1. 要确保参数化的值是符合业务逻辑的,例如用户名必须是有效的用户名,密码必须是有效的密码。 2. 要确保参数化的值是唯一的,否则可能会出现重复的数据。 3. 要确保参数化的值是符合测试场景的,例如在高并发场景参数化的值可能需要更加多样化。 希望这些信息能够帮助你设置脚本参数化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值