在 LoadRunner 中进行参数化时, Parameter 的取值设置有以下相关参数: 取值方式: Sequence :顺序 Random :随机 Unique :唯一 改变(更新)取值的" name="description" />

File类型中Unique参数选择类型的详解

发表于:2008-07-29来源:作者:点击数: 标签:FileUniqueunique参数详解
MI LY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在 LoadRunner 中进行参数化时, Parameter 的取值设置有以下相关参数: 取值方式: Sequence :顺序 Random :随机 Unique :唯一 改变(更新)取值的

MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在LoadRunner中进行参数化时,Parameter的取值设置有以下相关参数:
       
取值方式:
Sequence
:顺序
Random
:随机
Unique
:唯一
       
改变(更新)取值的时机:l
Each Iteration
:每次迭代
Each Oclearcase/" target="_blank" >ccurrence
:每次出现
Once
:只改变一次

(在此,我只讨论Unique的参数设置,其他相关参数会在其他文章中详谈)
当我们取值方式选为Unique/更新取值时机选为Each Iteration时,还有一个选项可设置,那就是:allocate Vuser values in the controller:它有两个选项:1automatically allocate block size;2allocate _____values for each Vuser. 因为我们选择了每次迭代更新取值的方式,所以可以指定是由系统自动分配Vuser的参数值数量,还是人为指定为每个Vuser分配的参数值数量。

我们以某网站登录功能为例来做分析:
先来看一下登录界面:
登录
用户名:        {T_name}
密码:
        {Pwd}
确认密码:
        {Pwd}
登录        取消


一、我们选择由系统自动分配Vuser参数值数量的选项,即勾选automatically allocate block size

1
        首先我们准备一些登陆用的数据,包括用户名,密码

编号        用户名:        密码:
1        T_username01        Pwd01
2        T_username02        Pwd02
3        T_username03        Pwd03
4        T_username04        Pwd04
5        T_username05        Pwd05

2
        分析user的参数值列表、Vuser数和迭代次数的关系:
首先确定我们是使用Vuser虚拟多个用户通过调用多个user的参数值来实现模拟操作动作的,那一个Vuser使用的user参数值的多少就会和Iteration迭代的次数有直接关系。好,我们来看下面这个分析表:

解释格式:(以1*22*23*1为例)
               
以分号分割,表示不同的Vuser:共3Vuser
               
第一位数字表示Vuser的编号:3*1表示第3
Vuser
               
第二位数字表示分配得到的user参数值的数量:1*2表示第一个Vuser得到2user参数值

User
参数值的数量
(以5个为例)        迭代次数        最大允许Vuser        最大Vuser数量下的分配情况
5        1        5        1*1
2*13*14*15*1
5        2        3        1*2
2*2
3*1
5        3        2        1*3
2*2
5        4        2        1*4
2*1
5        5        1        1*5

同样的分析方法,我们刚刚分析的最大允许Vuser数量,实际你可以取小于它的值,比如:

User
参数值的数量
(以5个为例)        迭代次数        最大允许Vuser        最大Vuser数量下的分配情况
5        2        2        1*2
2*2
注:比较和上表中的第二行数据,会发现:当我的每一个Vuser满足了自己的迭代次数,且参数数量够分配时,剩下的未用的1个参数就被忽略了

(当user参数值数量小于迭代次数时,具体的分配方式和另一个选项有关:1、中止;2、循环Vuser分配到的列表;3、只循环最后一个列表项;这部分内容放到文章最下面 ^_^ ,现在可以默认选在2上)

同样,我们可以分析一下10User参数值的时候
User
参数值的数量
(以5个为例)        迭代次数        最大允许Vuser        最大Vuser数量下的分配情况
10        1        10        1*1
2*13*14*15*16*17*18*19*110*1
10        2        5        1*2
2*23*24*2
5*2
10        3        4        1*3
2*33*3
4*1
10        4        3        1*4
2*4
3*2
10        5        2        1*5
2*5
10        6        2        1*6
2*4
10        7        2        1*7
2*3
10        8        2        1*8
2*2
10        9        2        1*9
2*1
10        10        1        1*10

由此,我们可以推导出有关User参数值数量、迭代次数和最大允许Vuser数的数学公式:

令:        User参数值数量——ParamNum
               
迭代次数
————IteraNum
               
最大允许Vuser
——MaxVuser
则公式如下:

       
ParamNum%IteraNum=0               l MaxVuser= ParamNum/IteraNum        
       
ParamNum%IteraNum=0         l
      MaxVuser= ParamNum/IteraNum+1

二、我们选择人为分配Vuser参数值数量的选项,即勾选allocate _____values for each Vuser.并在空格中填入数量(我们以2为例来分析)


这种方式要比上面的分析方法简单些。
1
        还是用上面user的参数值列表为例
2
        分析user的参数值列表、Vuser数和迭代次数的关系:
User
参数值的数量

(以5个为例)        迭代次数        Vuser的分配情况
5        1        1*2
2*23*1
5        2        1*2
2*2
3*1
5        3        1*2
2*2
3*1
5        4        1*2
2*2
3*1
5        5        1*2
2*2
3*1
当最后一个Vuser分配到的参数列表数量不够迭代次数时,那它分配到几个就用当前的几个参数进行迭代。

三、最后一个相关选项:
 
l       When out of values:
1
        中止:
abort Vuser
2
        循环Vuser分配到的列表

3
        只循环最后一个列表项

1
、现在我们假设选定2
比如迭代3次时:
假设Vuser1得到的参数值为:T_username01T_username02
那么迭代结果:T_username01T_username02
T_username01
迭代4次结果:T_username01T_username02 T_username01
T_username02
3
        现在我们选定3

同样的迭代3次时:
假设Vuser1得到的参数值为:T_username01T_username02
那么迭代结果:T_username01T_username02
T_username02
迭代4次结果:T_username01T_username02 T_username02T_username02

原文转自:http://www.ltesting.net