LoadRunner总结(2)-参数化中的取值

前言:最近的工作要求就是给组里写一份LoadRunner知识点整理的文档,发出来共享,有错误的地方希望大家的指正

——————————————————————————————————————————————

参数化对话框中与参数取值方式有关的区域如下:

LoadRunner总结(2)-参数化中的取值_第1张图片

假设一个dat文件中有多列值,Selectcolumn中设置取值的标识:by number是按第一列、第二列、第三列的方式取列值;by name是按列名取值。File format中column定义分列方式,是按逗号,tab还是空格;First data定义取值从列表的第几行开始取值,默认是第一行。

与参数取值方式相关的设置有两个:

1、Select nextrow

(1)Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取

(2)Random:在每次循环里随机的读取一个,但是在循环中一直保持不变

(3)Unique :每个VU取唯一的值。

除此之外还有一个Same Line As ,可以设置和前面定义的参数取同行的记录。通常用在有关联性的数据上面。比如做登录测试的脚本时,每个用户的密码都不同,就可以这样定义:创建参数文件,共两列username、passwd,则设置完username的取值方式后passwd设成 same line as username。

2、Update valueon

  (1)once :在所有的反复中都使用同一个值

  (2)eachiteration :每次反复都要取新值

  (3)eachoccurrence :则只要发现该参数就要重新取值,即如果一个action中有多个该参数,每遇到一个就要重新取一个值。

LoadRunner总结(2)-参数化中的取值_第2张图片

上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。假设脚本如上,那么参数那么在一个脚本中就会被调用两次,在运行日志中会输出两个值。为了判断只有三个值却执行四次迭代时列表值用尽时的选择,下表针对前六种设置方式,每种方式迭代4次,最终运行日志如下:

LoadRunner总结(2)-参数化中的取值_第3张图片

这六种种设置方法的实际取值方式的结果如下表所示:

Select Next Row

Update Value On

执行说明

执行结果

Sequential

 Each iteration

每迭代一次取一行值;当所有的值取完后,再从第一行开始取

甲甲-乙乙-丙丙-甲甲

Sequential

Each occurrence

每调用一次取一行值;当所有的值取完后,再从第一行开始取

甲乙-丙甲-乙丙-甲乙

Sequential

once

每次调用都是同一个值,即设置的第一个取值

甲甲-甲甲-甲甲-甲甲

Random

Each iteration

每次迭代随机选择一行数据进行赋值

甲甲-甲甲-甲甲-乙乙

Random

Each occurrence

每次调用随机选择一行数据进行赋值

甲乙-甲甲-丙甲-乙甲

Random

once

第一次迭代时随机取一行数据,后面每次都用第一次的数据。

乙乙-乙乙-乙乙-乙乙

Unique实际上是压力测试中更为常用的设置。如果选择unique的设置,每个数据只会用一次,当调用的次数或迭代次数超过值的个数时就可能会报错。

下方的when out of value可以选择当数值个数不够的情况系统改如何取值。

LoadRunner总结(2)-参数化中的取值_第4张图片

(1)abort Vuser:停止测试

(2)continuewith last value:沿用最后一个值

我们仍然是之前的脚本,选择continuewith last value并迭代运行6次,可以看到执行日志中当数据不够时会报错,后面的数据选择的就是最后一个数据“丙”,截图如下:

LoadRunner总结(2)-参数化中的取值_第5张图片

(3)continue ina cyclic manner:循环取值,再重新开始新一轮的unique取值。

而选择continue in acyclic manner方式取值得到的结果如下:

LoadRunner总结(2)-参数化中的取值_第6张图片


最后, Ctroller中的参数取值方式

在Vuser中参数取值在压力测试中将是不同的,以下简单列举常用的几个压力类型:

(1)50个用户压力测试,要求测试时间内,用户登录的账号没有重复

取值选择unique,eachinteraction;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,或者设置好合理的缺值处理方式。

(2)50个用户压力测试,且要求每个用户用一个固定账号,在整个测试周期中,各个用户之间的账号不重复。

取值选择unique,once;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,通常会在50个账号外留有余裕。

注:要用于压力测试的场景中的脚本的用户账号等信息使用each interaction的情况更为普遍,账号信息很少会使用each occurrence。测试中需要每个虚拟用户都不同的情况就需要用到unique,其他两种取值方式(顺序、随机)都可能出现重复。

你可能感兴趣的:(【LoadRunner】)