资源描述
今天在网上搜Loadrunner参数表中select next row和update value on的不同组合设置对参数取值的影响,自己根据网上的总结实践了一些,做完后相对明朗一些了。分享给大家:
1. Select next row= sequential,Update Value on= each iteration,在某次循环中所有用户取值相同。所有用户第一次循环取第一行值,第二次循环取第二行值。
下面是参数设置界面,可看到有三个用户以及select next row和update value on的设置:
下面是脚本界面截取:
下面是循环(迭代)6次的日志截取结果:
Starting iteration 1.
jojo 登录成功
Ending iteration 1.
Starting iteration 2.
jojo1 登录成功
Ending iteration 2.
Starting iteration 3.
jojo2 登录成功
Ending iteration 3.
Starting iteration 4.
jojo 登录成功
Ending iteration 4.
Starting iteration 5.
jojo1 登录成功
Ending iteration 5.
Starting iteration 6.
jojo2 登录成功
Ending iteration 6.
确实如此,每循环一次,从表中依次取下一个值。
2. Select next row= sequential,Update Value on= each occurrence,在某次循环中或者脚本中使用参数的地方,所有用户取值相同。脚本中出现要使用参数的话,参数值就更新一次,循环一次值再更新一次。
下图是参数设置界面:
下图是脚本界面截取,该参数在脚本共出现六次:
第一次循环,此处取jojo
第一次循环,此处取jojo2
第一次循环,此处取jojo1
第一次循环,此处取jojo
Starting iteration 1.
第一次循环,此处取jojo1
jojo1 登录成功
jojo2 登录成功
jojo 登录成功
Ending iteration 1.
Starting iteration 2.
jojo 登录成功
jojo1 登录成功
jojo2 登录成功
Ending iteration 2.
Starting iteration 3.
jojo2 登录成功
jojo 登录成功
jojo1 登录成功
Ending iteration 3.
确实,只要该参数出现一次,就更新一次。
3. Select next row= sequential,Update Value on= once,在所有的循环中所有用户取值相同。所有的用户所有的循环中,只用一个值(即参数中的第一行值)。
Starting iteration 1.
jojo 登录成功
jojo 登录成功
jojo 登录成功
Ending iteration 1.
Starting iteration 2.
jojo 登录成功
jojo 登录成功
jojo 登录成功
Ending iteration 2.
这种场景不做过多解释,只取一个值。为了和第6种情况做比较,截取controller的图,在controller中,3个vu也是一样的。
4. Select next row= unique,Update Value on= each iteration,若选择手工自配参数,那LR按照每用户几个参数先分配参数,然后进行循环。
若选择自动分配参数:
Controller中edit schedule中run until comletion:按照循环次数先分配第一个VU(例如设置的循环次数为3,那分配给第一个VU 3个参数值),然后接下来的3个参数值分配给第二个VU,依次类推…...
Controller中edit schedule中run for:若选择自动分配,LR将按照用户数均分参数,剩余的参数不使用。
下图选择自动分配:
Starting iteration 1.
jojo 登录成功
jojo 登录成功
jojo 登录成功
Ending iteration 1.
Starting iteration 2.
jojo1 登录成功
jojo1 登录成功
jojo1 登录成功
Ending iteration 2.
Starting iteration 3.
jojo2 登录成功
jojo2 登录成功
jojo2 登录成功
Ending iteration 3.
按字面意思理解即可,每循环一次取固定值。
5. Select next row= unique,Update Value on= each occurrence,只能手工分配用户,给每个用户分配好X个参数后,在脚本中有参数的地方,就使用已经分配好的X个参数。
Starting iteration 1.
jojo1 登录成功
jojo2 登录成功
Action.c(128): Error: Parameter 'NewParam': No more unique values for this parameter in table 'NewParam.dat' [unique range is 1-3]. The Vuser is aborted according to "When Out Of Values" policy.
按字面意思理解,该参数出现一次,更新一次,但只能出现一次。这样,到了第三个参数时,没有可取的参数值了,报错。
6. Select next row= unique,Update Value on= once,按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数。
Starting iteration 1.
jojo 登录成功
jojo 登录成功
jojo 登录成功
Ending iteration 1.
Starting iteration 2.
jojo 登录成功
jojo 登录成功
jojo 登录成功
Ending iteration 2.
循环中也是只有一个用户,但在controller中,3个vu是不一样的。
剩下的Select next row是random,不解释那么多了,循环的时候的随机取值。
展开阅读全文