【转】Loradrunner参数详解

文章转自:http://www.51testing.com/?uid/41972

Select next row

Update Value on

实际运行结果

sequential

each iteration

在某次循环中所有用户取值相同。
所有用户第一次循环取第一行值,第二次循环取第二行值

 

each occurrence

在某次循环中或者脚本中使用参数的地方,所有用户取值相同。
脚本中出现要使用参数的话,参数值就更新一次,循环一次值再更新一次。

 

once

在所有的循环中所有用户取值相同。
所有的用户所有的循环中,只用一个值(即参数中的第一行值)

 

 

 

random

each iteration

不同的用户,在不同的循环次数中,随机取值

 

each occurrence

不同的用户,脚本中出现要使用参数的话,随机取值一次,循环一次再随机取值一次

 

once

不同的用户,不管循环多少次,只随机取值一次。

 

 

 

unique

each iteration

若选择手工自配参数,那LR按照每用户几个参数先分配参数,然后进行循环。
若选择自动分配参数:
Controller中edit schedule中run until comletion:按照循环次数先分配第一个VU(例如设置的循环次数为3,那分配给第一个VU 3个参数值),然后接下来的3个参数值分配给第二个VU,依次类推…...
Controller中edit schedule中run for:若选择自动分配,LR将按照用户数均分参数,剩余的参数不使用。

 

each occurrence

只能手工分配用户,给每个用户分配好X个参数后,在脚本中有参数的地方,就使用已经分配好的X个参数。

 

once

按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数

 

脚本

Action()
{
 char *aa ;char *bb ;
 aa="{NewParam}" ;bb="{NewParam}" ;
 lr_message("aa:%s",lr_eval_string(aa));
 lr_message("bb:%s",lr_eval_string(bb));
 return 0;
}

前提:

对aa,bb进行参数化,使用同一个参数列表
参数类型为table
脚本迭代次数为3次
参数列表为:
a
b
c

参数

含义

columns
1.select all columns

TRUE

所有列的数据均会当作参数提取

2.columns by number

TRUE

输入要提取参数的列号,从指定的列中提取参数

3.column delimiter

COMMA

参数值通过逗号分隔

TAB

参数通过TAB分隔

SPACE

参数通过空格分隔

rows
1.rows per iteration

行数

每次迭代遇到该参数时,循环几次取参数列表中的值
例如:如果设置成1,脚本运行一次,依次取参数列表中的值,结果为
aa:a
bb:a
例如:如果设置成2,脚本运行一次,依次取参数列表中的值,结果为
aa:ab
bb:ab
例如:如果设置成3,脚本运行一次,依次取参数列表中的值,结果为
aa:abc
bb:abc

2.first line of data

行数

输入的行数决定了提取参数的第一行,从参数列表的哪行开始

rows delimeter for log display

 

每次迭代遇到该参数时,取出的参数后加入什么值,与rows per iteration
配合使用
例如:rows per iteration设置为2
此处设置为分号
运行后显示的结果为
aa:a;b
bb:a;b
例如:rows per iteration设置为3
此处设置为分号
运行后显示的结果为
aa:a;b;c
bb:a;b;c

when not enough rows

parameter will
get less rows
than required

取值超出所有行时,如何处理,目前选择这两个值没有发现差别,也请
知道差别的朋友指出

use behavīor of
"select next row"

第一种设置

参数

结果

总结

第一次迭代

第二次迭代

第三次迭代

select next row

sequential

aa:a

aa:b

aa:c

顺序的取参数列表中的值
在一次迭代过程中如果再次遇到该参数时,所取得值与上一次相同

update value on

each iteration

bb:a

bb:b

bb:c

第二种设置

参数

结果

总结

第一次迭代

第二次迭代

第三次迭代

select next row

sequential

aa:a

aa:c

aa:b

顺序的取参数列表中的值
在一次迭代过程中如果再次遇到该参数时,所取得值是下一个值
在第二次迭代的时候会顺序取下一个值,所有取得值不会重复

update value on

each occurrence

bb:b

bb:a

bb:c

 

 

 

 

 

 

第三种设置

参数

结果

总结

第一次迭代

第二次迭代

第三次迭代

select next row

sequential

aa:a

aa:a

aa:a

不论迭代几次,无论在一次迭代中第几次遇到该参数均使用一个值

update value on

each once

bb:a

bb:a

bb:a

笔者总结: 通过vuser——>控制参数行为——>控制预期结果

上一篇:AngularJs-05-模拟购物车


下一篇:线程同步:条件变量的使用细节分析