hi,baby~i am back!
在上一篇博文中,我大概写了一下登录脚本的录制,没有给出源代码。但实际上,只要你
认真按顺序看下去,每一部分拼接起来,就已经是完整的代码部分了。
**今天我们来看一下参数的设置。**
任何语言,肯定都会有参数的存在。参数存在的意义是什么?在我的理解来说,就像
是把一部分数据放进一个盒子里,给这个盒子起一个名字,然后方便我们找到它。
大家都见过中医抓取重要的药橱嘛?每一个药橱都有自己的名字。如果没有名字?每
个数据存放在一个盒子里?在哪个盒子?I don't know!where is it?所以,我们需要一个名称。
那么为什么还需要一个盒子?假设说所有的数据都堆在一起,我想要一个苹果,苹果在哪儿?
哦!这里有一个,哪里有一个!我们不是灰姑娘,不需要在灰烬里面找豆豆,所以,同一个名
称放在一个盒子里,是一件十分方便的事情。
那么在我们的性能测试中,参数有什么作用呢?
1.保存数据(关联,检查点等等)
2.尽量模拟真实环境。
这里我们先讲解第二点。使用参数尽量模拟真实环境。
我们既然要开始进行性能测试,一般都需要测试多个用户/请求同时并发,或者多个用户
/请求在一段时间内持续发起请求(可以理解为前者是多车道,所有车辆并排同时前进,后者
为单车道, 所有车辆需要排好队伍,按顺序前进)。基于此还有许多方式的变种。
假设说设置登录脚本,如果始终采用一个用户并发的形式,由于用户名/密码始终一致,
可能直接读取缓存,会与实际相应时间等有误差。另外,在实际情景中,不可能出现一个用户
同时并发登录或者持续登录的情况,因此需要设置多个用户名/密码,尽量模拟真实环境,减小
误差。
但是在LoadRunner中,并发和脚本多次运行的情况,都需要很多的数据,这时候我们就
可以用到参数。
参数的设置:
1.Vuser-Parameter list中可以设置参数,点击Vuser-Parameter list出现如下窗口。点击New,出现NewParam,写入参数名称,在右侧Value处填写参数数值。
下面的部分主要是说,可以选择数据的列的一些设置(Select column),by number(选择第几列),by name (选择名字为xx的列);文件格式的设置(file format),Column(不同数据之间用什么进行分隔),First data(第一个数据取自第几行)
2.选择脚本中需要参数化的数据
,点击右键Replace with a Parameter,会弹出让你选择一个参数,默认选择的新建的参数,以及选择![]如果这时候你点击了ok,那么你还是需要回到第一步去设置参数。为了避免多一步操作,可以直接点击右侧的Properties,就可以直接进行参数的设置了,如果想用其他参数代替。如果你想用外部参数代替,在Replace with a Parameter同级菜单下方会显示一个Use Exiting Parameter选择。
经过上面两种方法的实验,有没有觉得这样增加参数,如果参数量很大,就会十分浪费时间?
也许我们可以这么做:在 Parameter list窗口中点击Edit with Notepad,可以用记事本形式
编辑,不过这里要注意,最好在最后一个参数后加一个换行(LoadRunner一个bug,为了
避免差错可以养成习惯)
我们的参数设置成功了。可是?参数怎么使用呢?也许,我想让他采用循环调用,想让它
始终使用一个值,想让他每次迭代取值,每次调用 取值?这些都可以在 Parameter list窗口中
设置。
不同的组合再下面已经排列好了,各位看官,请移步哦~
Select next row:
Sequential:顺序取值
Random:随机取值
Unique:唯一取值
Same line as:取某个参数的同行
Update value on:
Each iteration:每次迭代更新
Each occurrence:每次取值更新
Once;只更新一次
组合类型:
1.Sequential
a、与Each iteration组合:将为每次跌倒从数据表中提取下一个值。
b、与Each occurrence组合:将为每一次参数的出现从数据表格中提取下一个值,即使
它在同一次迭代中。
c、与Once组合:第一次迭代中分配的值就会在每个Vuse接下来所有的迭代中使用。
2.Random
a、与Each iteration组合:将会为每一次迭代从数据表中提取一个新的随机值。
b、与Each occurrence组合:将会为每一次参数的出现从数据表中提取一个新的随机值,
即使它在同一次迭代中。
c、与Once组合:第一次迭代中分配的随机值就会在改Vuser的所有迭代中使用。
3.Unique
a、与Each iteration组合:将会为每一次迭代从数据表格中提取下一个唯一值。
b、与Each occurrence组合:将会为每一次参数的出现从数据表格中提取一个新的唯一值,
即使它在同一次迭代中。
Unique:意思是保证数据使用的唯一性。自动分配可根据迭代次数,及数据条数,自动分配
数据块。
如果选择每次取值迭代-自动取值,那么数据块=数据总条数/迭代次数,eg:有五条数据,迭代
2次,那么就是5/2=2,2+1=3
选择手动取值,可以设置allocate[]values for each Vuser,设置数据块内数据的数目,如果
超出每个用户调用的数目,只会取需要的值。
注意:Each iteration可以选择自动或手动,each occurrence必须手动分配
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/194222.html