Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示:

参数化取值策略Unique-LMLPHP

参数化取值策略Unique-LMLPHP

  此处的下拉列表中提供了三种方式,具体如下:

  • About Vuser,当取值次数超过参数的行数时,忽略脚本的运行
  • Continue in a cyclic manner,取值超过时,启用循环扫描,扫描那些还未被使用的数据进行使用
  • Continue with last value,重复读取最后一行数据

  所以关于Unique的唯一性取值方式还是需要值得,而且通常也用得比较多,特别是对于一些数据库表有唯一性约束的字段,必须要配合此项设置方能顺利执行。

  其实,在参数设置方式中,关于数据行的读取顺序基本上都比较直接明了,唯独在结合取值方式上就容易引起一些混乱,特别是Each iteration和Each occurrence这两种方式,前者是基于Run-Logic的迭代循环取值的,而Each occurrence是基于每一次取新值的,当然在通常情况下,这两者其实是有共性的,如果一个脚本中只有一个参数,且只读取一次参数的话,设置这两种方 式的结果是相同的,可以将脚本缩减如下,回放之后就可发现结果是一样的,但提前是配合顺序和随机两种方式,如果配合唯一性,那结果就另当别论。缩减后的脚 本如下:

  Action()
  {
     lr_output_message(lr_eval_string("{temp}"));
     return 0;
  }

  性能测试的第一步就是要创建出符合实际应用的测试脚本,而脚本的调试和优化却是脚本创建过程中最为重要的,如何合理运用参数化功能,对于最后的场景运行和监控都是至关重要的,如果理解不当,将会浪费大量的时间去分析,既误导开发人员,也误导自己的测试结果分析。

05-22 23:23