可能稍微对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. [C#]判断是否是合法的IP4,IP6地址

    判断一个字符串如果没有端口的话,利用IPAddress.TryParse很好判断,那么有端口怎么判断呢,正则表达式?还是其他方式? 关键代码: /// <summary> /// 判断是否 ...

  2. mui 重写back 调用back方法,实现返回就即时刷新页面

    需求: 从A-----b页面  B操作完后再返回A ,这时A页面数据变化 1.先是针对安卓机可以点击按钮返回,也可以用本机的返回键返回 监听本机的返回按钮,如果点击就调用写好的自定义刷新事件 (fun ...

  3. php中的数组定义和使用

    <?php //这个是一个php关于数组的例子,简要的说明了数组的基本使用 //定义一个字符串数组 $fruit = array(\"apple\",\"orang ...

  4. 自制3D打印机---挤出头

    计划准备自己制作一台3D打印机,故将制作过程记录在此方便以后查阅. 计划首先制作加热头部件,此部件的主要功能是通过加热棒加热挤出头,然后从送料管道将ABS或者PLA材料线材送入后融化成为液体后,从挤出 ...

  5. about Q&A in installing linux[centos6,7]

    keywords:grub1,grub2,gnome,kde, question describe:install centos7 by U disk,出现问题, 解决办法: install cent ...

  6. 2014年度辛星html教程夏季版第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差不多了,而且我特别的删去了某些东西,比如框架,如果回到几年前,那么框架是非常流行的,但是现在都到了2014年了,这些东西早就该被遗忘了,因此,我果断的 ...

  7. EF性能优化(一)

    一:背景 说到EF的性能问题,我相信都是大家比较头痛的问题,有很多初学者望而却步,可是每每菜鸟在群里面抱怨EF太慢的时候,这个时候总有一些大牛登场说一句:怪EF咯?怪你不会用! 当然我从未嫌弃过它,因 ...

  8. repo manifest xml 文件修改后提交命令

    git push origin dev(本地分支):refs/for/tv/Internal_Jb910_develop_t

  9. 学无止境,学习AJAX,跨域(三)

    学习AJAX其实有个很重要的应用,就是为了执行另外几个站点的ASP,返回结果. 真正用起来,发现2个问题,>_> 不许笑,一向做DELPHI,接触ASP不多的我,的确问题大堆. 第一个问题 ...

  10. 周末“干活”之 Mesos Meetup

    周末两天都是大雾霾天,作为运营也不能在家宅,告别了技术就得腿儿勤点儿. 非常感谢 Linker 的 Sam Chen 和 数人科技 的 CTO 共同组织的Mesos Meetup,OneAPM 最帅的 ...