loadrunner之 学习五:参数化

来源:互联网 发布:unity 特效贴图优化 编辑:程序博客网 时间:2024/04/30 14:53

学习五:参数化

参数化分为几块内容逐渐学习:

1.简单实现

  1. 在脚本中选中要参数化的内容,‘右键菜单’—‘Replace with a new parameter’,可以选择或新建一个parameter,我们填写一个parameter name,然后点击‘Properties…’按钮,打开‘Parameter Properties’对话框。

  2. 我的数据文件是excel,我新建了一个dat文件,把excel里相应的数据复制到dat里,然后在‘Parameter Properties’中type为‘File’,并在‘File’中选中我新建的dat文件,会自动把dat文件中的内容加载到下面的表格里。

  3. 在‘select column’里,可以通过列的id或者name来选中该参数对应的列。

  4. 同样的方法,把username和password都参数化,在password的‘select next row’里选择‘same line as username’,这样就不用都修改两个参数的设置了。当然这样只适用于这种一对一关联特别强的

  5. 保存之后运行,发现能够从dat文件中读取数据了,简单的参数化成功。

2.Action迭代次数

在参数化成功之后发现,Action只是运行了一次,而我想让Action迭代多次。方法如下:

打开‘Vuser’—‘Run-time Settings’—‘Run Logic’,将‘Number of Iterations’设置成想要迭代的次数,保存后再次运行,成功迭代多次。

3.深入1:不同的参数化方式

LR参数化方式不仅仅有File一种,在‘Parameter Properties’—‘Parameter type’中可以选择多种参数化方式,比如‘Custom’可以用自己定义的变量、‘Date/Time’可以选择指定的日期时间格式、‘Random Number’可以是范围内的随机数字,其他的不太常用,暂时不进行深入的研究。

还有一种是通过数据库添加数据的方法,通过‘Parameter Properties’中‘Data Wizard…’按钮,可以打开数据库配置的向导,也是非常简单。

4.深入2:数据分配和更新方式

参数化完成之后,脚本没一遍运行所取的值都不一样,具体的取值方式就是通过‘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:重复读取最后一行数据

我们可以使用simulate parameter(参数模拟)功能来模拟不同情况下的参数读取情况

参考资源

LoadRunner参数化详解

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

0 0
原创粉丝点击