可能稍微对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. 我忽略了的DOCTYPE!

    最近不知道是不是因为天气的原因,瞌睡太多了,而且每天晚上都做梦,更奇怪的是每次做梦都能够连着上次没有做完的梦继续做.第二天上班又没有精神,人都快崩溃了!不说了,郁闷! 偶然看到一个问题:Doctype ...

  2. 线程池原理及创建并C++实现

    本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关.另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量.文章的最后,我们 ...

  3. Javascript中setTimeout和setInterval的区别和使用

    在javascript中,window对象有两个主要的定时方法,分别是setTimeout 和 setInterval,其语法基本上相同,但是完成的功能取有区别. setTimeout方法是定时程序, ...

  4. lispbox 安装运行.sh的时候出现 lispbox.sh: 2: lispbox.sh: Bad substitution

    安装lispbox时使用tar命令将压缩文件解压之后cd进入之后在运行.sh文件时出现了如下情况. $ sh lispbox.sh lispbox.: lispbox.sh: Bad substitu ...

  5. c#让窗体永在最前 调用windows api 将窗体设为topmost

    有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体. 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函 ...

  6. LogBack入数据库重写

    项目需要:将info以及error的日志信息写入到数据库中:同时所有的日志都要写入到日志文件中. 可以封装一下,在基类的logError/logInfo中调用了log.error()以及log.inf ...

  7. 区域生长算法的一种C++实现

    区域生长算法是一种图像分割方法,能够将图像中具有相同特征的连通区域分割出来,同时保证较好的边缘信息. 区域生长算法的优点是简单,容易实现:但空间和时间复杂度较高,对分割图像要求较高,否则容易形成孔洞和 ...

  8. hdu 2665 Kth number(划分树模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ]  改变一下输入就可以过 http://poj.org/problem? ...

  9. CV牛人牛事简介之一

    CV牛人牛事简介之一 [论坛按] 发帖人转载自:http://doctorimage.cn/2013/01/01/cv-intro-niubility/#6481970-qzone-1-83120-8 ...

  10. How to steal any developer's local database

    原文链接: http://bouk.co/blog/hacking-developers/ If you’re reading this and you’re a software developer ...