LR中select next row和update value on的设置

LR的参数的取值,和select next rowupdate value on的设置都有密不可分的关系。下表给出了select next row和update value on不一样的设置,对于LR的参数取值的结果将不一样,给出了详细的描述。dom

 

Select next rowspa

Update Value onci

实际运行结果it

sequentialio

each iterationtable

在某次循环中全部用户取值相同。全部用户第一次循环取第一行值,第二次循环取第二行值date

each occurrenceselect

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

oncenext

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

random

each iteration

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

each occurrence

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

once

不一样的用户,无论循环多少次,只随机取值一次。

unique

each iteration

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

each occurrence

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

once

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

 

 

数据:A、B、C
虚拟用户:Vuser一、Vuser二、Vuser3
脚本中参数出现三次,脚本迭代三次
怎样取下一行数据?
Sequential:顺序,全部虚拟用户按照顺序读取数据表
Random:随机,全部虚拟用户随机形式读取数据表
Unique:惟一,全部虚拟用户每次各取一值(不重复)
何时访问数据表完成数据更新?
Each iteration:每次迭代之后
Each occurrence:每次出现参数
Once:每出现一个虚拟用户

实例:
顺序
Sequential + Each iteration
第一次迭代 不管参数任什么时候候出现 Vuser一、Vuser二、Vuser3 取A
第二次迭代 不管参数任什么时候候出现 Vuser一、Vuser二、Vuser3 取B
第三次迭代 不管参数任什么时候候出现Vuser一、Vuser二、Vuser3 取C
Sequential + Each occurrence
第N次迭代 参数第一次出现 Vuser一、Vuser二、Vuser3 取A
第N次迭代 参数第二次出现 Vuser一、Vuser二、Vuser3 取B
第N次迭代 参数第三次出现 Vuser一、Vuser二、Vuser3 取C
Sequential + Once
不管如何全部用户都取A

 

随机
Random + Each iteration
第N次迭代 不管遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代再也不更新
第N次迭代 不管遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代再也不更新
第N次迭代 不管遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代再也不更新
在N+1次迭代,每一个Vuser从新随机抽取数据

Random + Each occurrence
第N次迭代 第一次遇到该参数 Vuser一、Vuser二、Vuser3在A、B、C中随机抽取一个
第N次迭代 第二次遇到该参数 Vuser一、Vuser二、Vuser3从新在A、B、C中随机抽取一个
第N次迭代 第三次遇到该参数 Vuser一、Vuser二、Vuser3从新在A、B、C中随机抽取一个
在N+1次迭代,每一个Vuser继续保持每遇到一次参数就从新抽取一次数据
Random + Once
第N次迭代 不管遇到该参数多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 不管遇到该参数多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 不管遇到该参数多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每一个Vuser不会从新抽取数据

惟一注意:使用该Unique类型必须注意数据表有足够多的数。好比Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,不然Controller 运行过程当中会返回一个错误。所以如下例子在数据表中加入数据D、E、F、G、H、I。Unique + Each iteration第一次迭代 不管参数出现多少次 Vuser1取A Vuser2取D Vuser3取G第二次迭代 不管参数出现多少次 Vuser1取B Vuser2取E Vuser3取H第三次迭代 不管参数出现多少次 Vuser1取C Vuser2取F Vuser3取IUnique + Each occurrence第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取IUnique + Once不管进行多少次迭代 不管参数任什么时候候出现 Vuser1取A Vuser2取B Vuser3取C

相关文章
相关标签/搜索