TA的每日心情 | 郁闷 2017-1-11 15:48 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
回复 #8 ryancheung 的帖子
对的,只要数据不够就没有办法了。
即使设置为WHEN OUT OF VALUES: continue in a cyclic manner,也不能解决问题的。 WHEN OUT OF VALUES: continue in a cyclic manner是指在每个用户分配到一定数量的参数后,在LR循环运行的时候, 当某个用户的参数不够的时候,LR会让这个用户一直循环使用分配给他自己的那几个值。
举个例子:
现有一参数,名为:emp_no, 有四个值: E01,E02,E03,E04
现有一场景,三个虚拟用户,分别为:U1,U2,U3
LR参数列表设置:unique + each iteration+ allocate 2 values for each vuser
在场景运行的时候,
1. LR会先做一件事情-参数分配,假设参数分配的方式是手工分配,allocate 2 values for each vuser.
分配的结果是: U1-E01,E02; U2-E03,E04; U3-无参数;
[备注:若选择了自动分配参数。那将遵循以下的原则:
Controller中edit schedule中选择了run until comletion:按照循环次数先分配第一个VU(例如设置的循环次数为3,那分配给第一个VU 3个参数值),然后接下来的3个参数值分配给第二个VU,依次类推…...
Controller中edit schedule中选择了run for:若选择自动分配,LR将按照用户数均分参数,剩余的参数不使用。]
2. 在运行开始后,U3将会FAILED. 因为没有参数分配给他。其他的两个虚拟用户正常运行,但是其他的两个用户,每个用户只有两个参数,只能保证他们循环两次而已。
当他们运行到第三个循环的时候,他们已经没有参数可以用了。 怎么办呢? 这个时候,LR将按照设置的WHEN OUT OF VALUES的值进行处理。我们拿虚拟用户U1来举例说明。
如果when out of values=abort vuser, U1在第三次循环的时候将会退出执行。
循环次数 虚拟用户 使用参数值 运行状态
1 U1 E01 正常运行
2 U1 E02 正常运行
3 U1 / 退出运行
如果when out of values=continue in a cyclic manner, U1在第三次循环的时候将会开始循环利用他的参数值E01, 第四次循环使用E02…….
循环次数 虚拟用户 使用参数值 运行状态
1 U1 E01 正常运行
2 U1 E02 正常运行
3 U1 E01 正常运行
4 U1 E02 正常运行
5 U1 …. …..
如果when out of values=continue with last value, U1在第三次循环的时候使用最后的一个参数即E02, 第四次继续使用E02…….
循环次数 虚拟用户 使用参数值 运行状态
1 U1 E01 正常运行
2 U1 E02 正常运行
3 U1 E02 正常运行
4 U1 E02 正常运行
5 U1 …. …..
[ 本帖最后由 spartan 于 2007-8-6 18:49 编辑 ] |
|