参数化的定义及作用

定义:将脚本当中录制下来的特定值用变量替代,该变量值是变化的。 

参数化解决数据不能重用的问题(如:数据保持唯一性,不能重复)。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

 

1.业务考虑,不允许相同信息

2.真实模拟不同用户

3.真实反应服务器性能

模拟100个用户登录微博,100个相同的用户名相同的密码与100个不同的用户名不同的密码的区别?

 

 

 

先把需要用到的参数设计好,选择要替换的常量,然后右键选择使用已有的参数替换

对loadrunner自带的订票网站登录

LoadRunner参数化 随笔 第1张

 

先把参数建好,,会询问是否用现在的值替换参数表中的第一个值或者是保持参数表中的第一个值不变。

下面这种方法会自动读进曾经已经使用的数据(jojo),造成回放出错。

LoadRunner参数化 随笔 第2张

LoadRunner参数化 随笔 第3张

 

 File类型参数

LoadRunner参数化 随笔 第4张

LoadRunner参数化 随笔 第5张

LoadRunner参数化 随笔 第6张

LoadRunner参数化 随笔 第7张

单击LoadRunner参数化 随笔 第8张,编辑数据文件,最后一个参数下面最多只能一个空行

LoadRunner参数化 随笔 第9张

LoadRunner参数化 随笔 第10张

如果添加一列

LoadRunner参数化 随笔 第11张

用逗号分隔列,所以为2列

LoadRunner参数化 随笔 第12张

用Tab分隔列,所有为1列

LoadRunner参数化 随笔 第13张

用空格分隔列,所以为1列

LoadRunner参数化 随笔 第14张

 

 

隐藏或显示输出窗口:

LoadRunner参数化 随笔 第15张

参数值更新方式

3个值(a,b,c),选择迭代4次,即多出一次,看是如何取值的。

LoadRunner参数化 随笔 第16张

 

 LoadRunner参数化 随笔 第17张

 

 

Action()
{
	lr_output_message("第一个参数取值:%s",lr_eval_string("{paramtest}"));
	lr_output_message("第二个参数取值:%s",lr_eval_string("{paramtest}"));
	lr_output_message("第三个参数取值:%s",lr_eval_string("{paramtest}"));
	return 0;
}

 

关于lr_output_message的作用,可以鼠标点到上面,按F1,自动弹出帮助

 LoadRunner参数化 随笔 第18张

  

每次迭代

一次迭代过程中,相同参数值不发生变化,即只取一次值。每次迭代,是将所有的Action都执行。

每次迭代-顺序

从头开始按顺序取值,当值不够用时又从头开始。

 LoadRunner参数化 随笔 第19张

 LoadRunner参数化 随笔 第20张

每次迭代-随机

LoadRunner参数化 随笔 第21张

LoadRunner参数化 随笔 第22张

每次迭代-唯一

和每次迭代-顺序类似,从头开始按顺序取值,当值不够用时按照设置的方式处理。

LoadRunner参数化 随笔 第23张

此时可以自动分配,也可以自定义分配value数,(“每次发生-唯一”只能自定义分配value数)

当值不够用时,有3种情况,默认情况下,使用最后一个值继续;停止脚本;从头再来(类似每次迭代,顺序取值)

 

Error: Parameter 'paramtest': No more unique values for this parameter in table 'paramtest.dat' [unique range is 1-3].The parameter continues with last value of the range according to "When Out Of Values" policy.

默认自动分配

LoadRunner参数化 随笔 第24张

LoadRunner参数化 随笔 第25张

自定义分配,

LoadRunner参数化 随笔 第26张

运行结果依旧和上图一样,因为在vuser中,就只有一个vuser,单独一个用户分享所有参数值。

 

每次发生

 每次发生,相同参数取不同值,也可以取相同值<随机或者唯一不够时

每次发生-顺序

和每次迭代-顺序类似,从头开始按顺序取值,当值不够用时又从头开始。

LoadRunner参数化 随笔 第27张

LoadRunner参数化 随笔 第28张

 

每次发生-随机

 

不一定从头开始按顺序取值,且值也可能相同。(无论参数多少)

LoadRunner参数化 随笔 第29张

LoadRunner参数化 随笔 第30张

 

每次发生-唯一

 

和每次迭代-顺序、每次迭代-唯一类似,从头开始按顺序取值,当值不够用时按照设置的方式处理。

LoadRunner参数化 随笔 第31张

此时自定义分配value数必填,(“每次迭代-唯一”可以自动分配,也可以自定义分配value数)

 

填入上面框中的数字无论为多少(1至X),在vuser中,运行结果都一样。(在虚拟用户脚本中只有一个用户,无论Allocate处填多少都无用,单独一个用户分享所有参数值)

LoadRunner参数化 随笔 第32张

完整Error信息:Error: Parameter 'paramtest': No more unique values for this parameter in table 'paramtest.dat' [unique range is 1-3].The parameter continues with last value of the range according to "When Out Of Values" policy.

 LoadRunner参数化 随笔 第33张

填1或者任意值,在vug中,都是如下结果:

LoadRunner参数化 随笔 第34张

 

一次

只取一个值。

 一次-顺序

 

只取第一个值。

LoadRunner参数化 随笔 第35张

始终第一个值

LoadRunner参数化 随笔 第36张

 

一次-随机

 

随机取一个值。

LoadRunner参数化 随笔 第37张

LoadRunner参数化 随笔 第38张

 

一次-唯一

 

只取第一个值。

(下面这种情况是冲突的,Unique是每个数据唯一,只使用一次,Once是只更新一次,但是只认Once,如果只有2个数据,迭代>2次,也不会报错,全部是用第一个数据。)

 LoadRunner参数化 随笔 第39张

始终第一个值

LoadRunner参数化 随笔 第40张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄