- LR的参数的取值,和select next row和update value on的设置都有密不可分的关系。 下表给出了select next row和update value on不同的设置,对于LR的参数取值的结果将不同,给出了详细的描述。
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 | 按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数 |
学习:
1、Select next row:Sequential(顺序执行);Random(随机执行);Unique(唯一)
2、Update value on:Each iteration(每次迭代循环);
可取组合:
1、sequential each iteration 在某次循环中所有用户取值相同。 所有用户第一次循环取第一行值,第二次循环取第二行值 (如果值不够,所有用户循环从第一行-第二行开始取值)
2、 unique each iteration 唯一的值并且每次循环时更新值。Controller中edit schedule中run until comletion
注意:使用该类型必须注意数据表中要有足够的数。比如controller中设定20个Vusers进行5次循环(迭代iteration),那么第一个Vusers用户取值1-5行,第二个Vusers用户取值6-10行的数,依次类推,这样数据表中至少要有100行数据,否则Controller运行过程中会返回一个错误。
When out of values :Abort Vuser没有那么多参数时,忽略执行其他用户;Continue in cyclic manner:从第一行起接着循环执行;continue with last value :循环执行最后一个值
3、unique once 按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数。比如:第一个用户,取第1个数据,第二个用户,取第2个数据,依次类推,以后每次循环都使用这个数据。有多少个用户就有多少行数据就ok
第一点:在选用Unique时,在“选择下一行”选择:”each iteration"的时候可以选择“自动分配”和“分配给每个用户”;但是选择“Each occurrence的时候,只能选择”分配给每个用户“; 第二点:each iteration和Each occurrence的区别,前者表示每次迭代,后者表示每次循环;迭代是可以在脚本中”运行设置中进行设置的,参数只有在脚本调用的时候才会更新,循环是只要脚本调用一次就会重新取一次参数,比如用for循环在脚本中实现的循环,如果选择“迭代”参数只能选择一个,而选择循环,则可以更新参数; 第三点:在controler里边的分配方式:“自动分配”情况下会按照迭代次数分配给每个用户,比如有10个参数,脚本迭代5次,并发10个用户,这样的话,controler会将10个参数分配给前3个用户,U1,5个参数,U2,5个参数,U3一个参数,其他7个用户失败,总的参数=并发用户数×迭代次数;如果选择“按用户分配”可以让用户自定义来分配,但是也要注意总的参数和并发用户以及迭代次数的关系;总的参数=自定义数×并发用户数;比如有12个参数,每个用户分配2个参数。可以最多支持6个并发用户;选择“循环”的情况下跟选择“迭代”情况相同;
















