loadrunner参数化,数据分配方式

来源:互联网 发布:占星术杀人魔法 知乎 编辑:程序博客网 时间:2024/06/03 21:33

数据分配和更新方式

参数化完成之后,脚本没一遍运行所取的值都不一样,具体的取值方式就是通过‘select next row’和‘update value on’来设置。

select next row:

  • sequential(顺序):按照参数化的数据顺序,一个一个的来取
  • random(随机):参数化中的数据,每次随机的从中抽取数据
  • unique(唯一):为每个虚拟用户分配一条唯一的数据
  • same line as xxx(与参数xxx取同一行):这个选项是在同一个数据文件中有多列参数的时候才会出现,选择之后此参数会取相应参数的同一行值

update value on:

  • each iteration(每次迭代):每次迭代更新取值

  • each occurrence(每次出现):每次取值更新

  • once(只取一次):只更新一次

每次迭代和每次出现不同,因为一次迭代中一个参数可能出现多次。

因为选择列方式中的最后一种same line as xxx使用时,下面的update value on会被禁用,所以一般我们会有3x3+1共10中组合方式:

  1. sequential + each iteration : 顺序方式 + 每次迭代更新取值,设置迭代n次,每次迭代使用同一行数据,数据按照顺序读取。一次迭代中即使出现多次这个参数,都是使用同一行数据,迭代次数>数据行数时,数据行取完之后重新从第一行取
  2. sequential + each occurrence : 顺序方式 + 每次取值更新,设置迭代n次,每次出现使用同一行数据,一次迭代中可能出现多次,每次取值不同,按顺序读取。
  3. sequential + once : 顺序方式 + 只取一次,这种方式的结果是不论迭代多少次,不论出现多少次,都只是读取第一行的数据
  4. random + each iteration : 跟顺序读取的结果唯一不同的就是这里是随机读取,取值是每次迭代取值
  5. random + each occurrence : 每次出现更新参数值,随机取值
  6. random + once : 随机取一行数据,然后便一直读取这一行
  7. unique + each iteration : 每个值只取一次,强调取值的唯一性,当取值超出数据行数时,LR在提供了三种处理方式,将在下面说明
  8. unique + each occurrence : 每次出现更新参数值,每个值只取一次
  9. unique + once : 跟sequential + once一样,只取第一行值,之后每次出现这个参数都用这个值,不再改变
  10. same line as xxx : 上面已经说过,跟随另一个参数的取值,另一个参数取哪一行,这个参数就取哪一行

sequential和random方式都不会有数据取尽的情况,而当select next row设置为unique的时候,每行值只允许读取一次,这时如果该参数的读取次数>数据行数时,便会出现异常,这时LR提供了三种处理方式:

  • abort vuser:当取值次数超过参数的行数时,停止脚本运行
  • continue in a cyclic maner:取值超过时,启用循环扫描,扫描哪些还未被使用的数据进行使用
  • continue with last value:重复读取最后一行数据


参考资源

LoadRunner参数化详解

深入解析LoadRunner下的参数化取值