脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按照个什么情况来取呢?会有很多种方式
Select next row【选择下一行】:
顺序(Sequential):按照参数化的数据顺序,一个一个的来取。(假设10个vuser,参数数据只有8个,那么剩下的2个虚拟用户重复取开头的两个数据)
随机(Random):参数化中的数据,每次随机的从中抽取数据。
唯一(Unique):为每个虚拟用户分配一条唯一的数据(假设10个vuser,参数数据只有8个,那么将有2个虚拟用户分配不到参数)
Update value on【更新时的值】:
每次迭代(Each iteration) :每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。一组迭代数据(不管多少个虚拟用户,都是迭代一次所有用户取相同的一个值)
每次出现(Each occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。
只取一次(once) :参数化中的数据,一条数据只能被抽取一次。(如果数据轮次完,脚本还在运行将会报错)
上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。
最后, Ctroller中的参数取值方式
在Vuser中参数取值在压力测试中将是不同的,以下简单列举常用的几个压力类型:
(1)50个用户压力测试,要求测试时间内,用户登录的账号没有重复
取值选择unique,eachinteraction;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,或者设置好合理的缺值处理方式。
(2)50个用户压力测试,且要求每个用户用一个固定账号,在整个测试周期中,各个用户之间的账号不重复。
取值选择unique,once;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,通常会在50个账号外留有余裕。
注:要用于压力测试的场景中的脚本的用户账号等信息使用each interaction的情况更为普遍,账号信息很少会使用each occurrence。测试中需要每个虚拟用户都不同的情况就需要用到unique,其他两种取值方式(顺序、随机)都可能出现重复。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。