LR的参数的取值,和select next row和update 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按照每用户几个参数先分配参数,而后进行循环。 |
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