可能稍微对LR 有些了解的人都知道LR 参数化的功能,今天请跟我来一起好好理一下。

首先,咱们先说一下为啥要用参数化?假如您录制了一个登录的脚本,如下所示,

web_submit_form("do_login",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value=jim_daniel", ENDITEM,
"Name=password", "Value=jim_daniel", ENDITEM,
"Name=_mw_submit", "Value=Sign In", ENDITEM,
EXTRARES,
LAST);

  代码中的用户名和密码都是固定的一个值,如果在controller 中使用该脚本跑场景的话,那所有的Vuser 都会使用脚本中的同一个用户名(代码中加下划线的部分)去登录,这和我们的愿望有些差别,我们期望的是不同的vuser 使用不同的用户名登录,这样就跟真实的场景一样了,那么这就是为什么要用参数化的原因,我们可以把我们希望使用的用户名和密码预先设置在两个参数中,然后设置参数值的分配方式和更新方式以使得不同的用户使用不同的用户名去登录。

好了,明白了为什么要用参数化,下面咱们具体说一下参数化的使用方法。

每个Vuser 去参数表中取的参数值的方式是由参数值的分配方式(Select next row)和更新方式(Update value on)共同决定的。参数值的分配方式有Sequential(顺序的),Random(随机的),Unique(唯一的)三种方式。

  • Sequential(顺序的):每个Vuser 顺序的从参数表中取得参数值。如参数表中有A, B, C三个值,Vuser1 取的参数值是A, Vuser2 取的值是B,Vuser3 取的是C, 如果参数值的数量小于Vuser的数量时,那么Vusers 会再从头开始循环取得参数值。
  • Random(随机的):调用参数时,随机地分配参数表中的一个参数值。
  • Unique(唯一的):顺序的为参数分配一个唯一值。

提示:当数据分配方式选择Sequential 和Random 时,所有Vuser 从同一个参数值集合中取按照分配方式取得参数值;当数据分配方式选择Unique(唯一的)的时候,每个Vuser 获得参数值的集合是不一样的,当你选择此种分配方式时,Allocate Vuser values in the controller部分会可用(如下图所示),有两种方式一种是自动分配数据块的大小(默认的数据块的大小=Iteration 的次数),另一中是指定为每个用户分配多大的数据块。

好了说完数据分配方式了,下面说一下数据更新方式。数据更新方式有以下几种:Each iteration,Each occurrence(只在参数类型为File时使用), Once。下面把数据分配方式和数据更新方式结合起来列出每种结合方式的结果应该是怎么样的:

更新方式

分配方式

(Sequential)顺序的

(Random)随机的

(Unique)唯一的

Each iteration(每个迭代)

在每次迭代中每个用户顺序的去取下一个值。

每次迭代中,每个用户随机去取参数值。

每个迭代中每个用户从唯一的位置去取参数值。(这个地方不会去判断参数表中的数据是不是重复,它所说的唯一是指的取的位置的唯一性,而不是数据。也就是说如果一个用户被分配了两个重复的值,那么在第二个迭代中也是会取第二个值的)

Each occurrence(只适用于数据文件类型的参数)

当参数出现时,每个用户顺序的去取下一个参数值,即使是在一个迭代中。

当参数出现时,每个用户随机的去取下一个参数值。即使是在一个迭代中。

用户从分配的数据块中取唯一值当遇到参数时,不同的迭代也算是遇见。注意这里是会判断参数表中的数据是不是重复的,不允许取的新值是跟已经取过的数据是重复的。

Once(一次)

每个用户使用的都是参数表中第一个值,并且每个迭代中都会保持这个值。

每个用户使用随机分配的值(这个值会在整个参数表中选取),并且每个迭代中都会保持这个值。

每个用户使用唯一的值(这个值会在分配给他的数据块中选取),每个迭代的值都会保持这个值。

LoadRunner 参数化详解的更多相关文章

  1. LoadRunner参数化详解

    LoadRunner参数化详解 距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又 ...

  2. LoadRunner参数化详解(转)

    距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又想有一把好的利器毕竟可以帮助自己 ...

  3. [转]LoadRunner参数化详解

    http://www.cnblogs.com/fnng/archive/2012/06/22/2558900.html 距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过, ...

  4. LoadRunner参数化详解【转】

    距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又想有一把好的利器毕竟可以帮助自己 ...

  5. Loadrunner安装详解

    安装 1. 运行"setup.exe" 2. 点击安装,其中会有提示缺少"Microsoft Visual C++ 2005 SP1运行组件",下载这 个组件. ...

  6. 接口测试参数化详解(Jmeter)

    简介 接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性.我们在测试过程中需要考虑不同的输入组合,来覆盖不同 ...

  7. loadrunner 功能详解(一) - Run-time Settings

    1.General / Run Logic  Number of Iterations:说明的是反复循环的次数. 常境的时间中,如果时间设为5分钟,而实际上程序的运行只需要1分钟,而在这项中,选择的是 ...

  8. jmeter5.2版本 配置元件之参数化详解

    1.方式1 :CSV Data Set Config : 打开方式:配置元件---csv data set config 作用:用于读取txt.csv文件数据,注意:默认txt.csv文件的第一行内容 ...

  9. loadrunner11.0 安装破解详解使用教程

    loadrunner11.0 安装破解详解使用教程 来源:互联网 作者:佚名 时间:01-21 10:25:34 [大 中 小] 很多朋友下载了loadrunner11但不是很会使用,这里简单介绍下安 ...

随机推荐

  1. NOSQL之【Redis学习:配置说明】

    # yes:后台运行:no:不是后台运行(老版本默认) daemonize yes # redis的进程文件 pidfile /var/run/redis.pid # 端口 port # bind_a ...

  2. 不相交集合ADT

    不相交集合数据结构保持一组不相交的动态集合S={S1,S2,...,SK},每个集合通过一个代表来识别,代表即集合中的某个成员. 如果x表示一个对象,不相交集合支持以下操作: MAKE-SET(x): ...

  3. 常用 xwt 工具

    1,显示提示信息 <FString chnName="执行单位" prompt="可以进行模糊匹配" required="false" ...

  4. PL/SQL — 函数

    函数通常用于返回特定的数据.其实质是一个有名字的PL/SQL块,作为一个schema对象存储于数据库,可以被反复执行.函数通常被作为一个表达式来调用或存储过程的一个参数,具有返回值.   一.建立函数 ...

  5. Kinetic使用注意点--animation

    new Animation(func, layers) 参数: func:每一帧都会调用一次此函数.此函数接收一个包含四个元素的参数对象,时间单位均为毫秒. { timeDiff:"上一帧和 ...

  6. 【c3p0】目前使用它的开源项目有Hibernate,Spring等

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. c3p0与dbcp区别 JNDI ...

  7. MVC-Html.Label(TextBox、TextArea、RadioButton、CheckBox)

    红色表示可选参数. @Html.Label("name", "value", new { @class = "class", @style ...

  8. 数据库应该使用异步吗 Should my database calls be Asynchronous?

    Should my database calls be Asynchronous? http://blogs.msdn.com/b/rickandy/archive/2009/11/14/should ...

  9. linux删除某类型文件的命令

    使用linux命令行,删除某目录下某类型的文件,如:删除.rar结尾的所有文件. 命令如下: find . -name "*.rar" -type f -print -exec r ...

  10. C,C++,JAVA char,各占字节数

    char在C和C+中占一个字节 Java中无论是汉字还是英文字母都是用Unicode编码来表示的,一个Unicode码是16位,每字节是8位,所以一个Unicode码占两字节 /** * The nu ...