参数化策略
关键:类型+数据+策略
1、Select next row ( 如何取)
选择下一行
1)Sequential:顺序的
每个VU都从第一行开始,顺序依次向下取值;
数据可以循环重复使用;
----每个VU取值序列相同
2)Unique:唯一的
从第一行,对于VU唯一依次向下取值;
如果数据不足,需要按照指定策略取舍;
----每个VU取值序列不相同
说明:如果是单用户,顺序的和唯一的取值序列相同。
举例:目前有10行数据:a1 a2 a3.... a10,2个VU,每次迭代更新数据,一共迭代2次。
按照SE组合:顺序+每次迭代 VU1(a1,a2) VU2(a1,a2)
按照UE组合:唯一+每次迭代 VU1(a1,a2) VU2(a2,a3)
3)Random:随机值
每个VU都随机获取参数池中数据,值可以重复;
4)Same line as xxx:和xxx参数同行取值、策略一致
比如:password设置为 Same line as username
2、Update value on (何时取)
1)Each Iteration:每次迭代 (默认,常用)
脚本Action迭代一次,需要重新取参数值
2)Each Occurrence:每次遇到 (不常用,不好控制)
脚本中参数出现一次,则算遇到一次
3)Once:仅取一次
每次VU仅取一次数据,不再改变 (从一而终)
举例:脚本迭代2次,其中参数name出现3次,以顺序方式取值,如果使用每次迭代总共更新 2 次,如果使用每次遇到决共更新 6 次。
结论:每次遇到更新的次数=迭代次数*每次迭代遇到的次数
3、When out of values:当超过值的策略
前提:使用Unique策略时才有效,考虑值不够用时的策略
1)Abort Vuser:放弃VU VU不再执行脚本,并且报错Action.c(6): Error
2)Continue in a Cycle manner以循环方式继续:循环从第一行开始继续取(重复)
3)Continue with last value以最后一个值继续:重复取最后一个值(重复),并且报错Action.c(6): Error