LR参数化取值规则总结
我想使用参数化输入设置10个并发用户循环1000次,第一个用户使用参数列表中的前1000个参数(第依次循环使用第一个参数、第二次循环使用第二个参数,依次类推)、第二个用户使用参数列表中的2001-3000个参数,依次类推。
LoadRunner进行参数化输入时,参数的属性有Select next row、Update value on两个项,其中Select next row属性包括三个选项: Update value on属性包括四个选项:Sequential、Random、Unique、四个选项。
首先说明几个概念:
1.Update value on
--Each Occurrence:只要发现该参数就重新取值(用于各处引用参数都不相关时)
--Each iteration:每次反复都要取新值(各个并发会共享同一个值,用于多次引用参数且相关的情况)
--Once:在所有的反复中都使用同一个值(仅在场景初始化时产生一次,在一个场景中的所有并发和所有反复的值都相同)
2.Select Next Row
方法可以是:连续的、随机的、唯一的、或者与其它
参数表的相同行。
--顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在
运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。
--随机(Random):该方法在每次迭代的时候会从数据表中取随机数
--唯一(UNIQUE):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。
--其它参数表的相同行(Same Line As)该方法从和以前定义过的参数中的同样的一行分配数据。你必须指定包含有该数据的列。在下拉列表中会出现定义过的所有参数列表。注意:至少其中的一个参数必须是Sequential、Random或者Unique。
--使用种子取随机顺序(Use Random Sequence with Seed):如果从Loadrunner的控制器来运行scenario,你可以指定一个种子数值用于随机顺序。每一个种子数值在测试执行的时候代表了一个随机数的顺序。无论你何时使用这个种子数值,在scenario中同样的数据顺序就被分配给虚拟用户。如果在测试执行的时候发现了一个问题并且企图使用同样的随机数序列来重复测试,那么,你就可以启动这个功能(可选项)。
3.唯一参数值的分配方式
场景初始化时会根据设置为每个VUser预先分配多个参数值,已确保不会重复。
使用选项:Allocate XXX values for each vuser

这六种设置方法的实际取值方式的结果如下表所示:
| Select Next Row | Update Value On |
Description |
Result |
| Sequential | Each iteration | 每迭代一次取一行值;当所有的值取完后,再从第一行开始取 | 甲甲-乙乙-丙丙-甲甲 |
| Sequential | Each occurrence | 每调用一次取一行值;当所有的值取完后,再从第一行开始取 | 甲乙-丙甲-乙丙-甲乙 |
| Sequential | Once | 每次调用都是同一个值,即设置的第一个取值 | 甲甲-甲甲-甲甲-甲甲 |
| Random | Each iteration | 每次迭代随机选择一行数据进行赋值 | 甲甲-甲甲-甲甲-乙乙 |
| Random | Each occurrence | 每次调用随机选择一行数据进行赋值 | 甲乙-甲甲-丙甲-乙甲 |
| Random | Once | 第一次迭代时随机取一行数据,后面每次都用第一次的数据。 | 乙乙-乙乙-乙乙-乙乙 |
最后, Ctroller中的参数取值方式
在Vuser中参数取值在压力测试中将是不同的,以下简单列举常用的几个压力类型:
(1)50个用户压力测试,要求测试时间内,用户登录的账号没有重复
取值选择unique,each interaction;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,或者设置好合理的缺值处理方式。
(2)50个用户压力测试,且要求每个用户用一个固定账号,在整个测试周期中,各个用户之间的账号不重复。
取值选择unique,once;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,通常会在50个账号外留有余裕。
注:要用于压力测试的场景中的脚本的用户账号等信息使用each interaction的情况更为普遍,账号信息很少会使用each occurrence。测试中需要每个虚拟用户都不同的情况就需要用到unique,其他两种取值方式(顺序、随机)都可能出现重复。
LR参数化取值规则总结的更多相关文章
- lr参数化取值与连接数据库
TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...
- Loadrunder之脚本篇——参数化取值策略
参数取值选项 Select next row Update value on 以上两个选项是改变参数化取值的关键选项. Select next row包含如下选项: Sequential:顺序选择 R ...
- Jmeter VS LR参数取值方式和迭代方式
Jmeter的参数化 Jmeter中的参数就是变量. 变量的来源:测试计划.UDV.CSV.函数.正则表达式.数据库. 以Jmeter的CSV文件参数化为例:
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- LoadRunner参数化取值与连接数据库
LoadRunner参数化取值与连接数据库 LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接 ...
- Loadrunner中参数化取值方式分析
Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”. select next row:Sequential , Random,unique 2.更新值时分为 ...
- LR参数化后取值规则小记
对参数化的取值,只有一个用户的情况能分清,但是多用户多迭代就搞不懂,特意使用Parameter List中自带的参数化模拟器Simulate Parameter进行简单的实验,3条数据 + 4个用户 ...
- 参数化取值策略Unique
Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...
- loadrunner 参数化取值方式详解
参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...
随机推荐
- Spark环境搭建(一)-----------HDFS分布式文件系统搭建
下载的压缩文件放在~/software/ 解压安装在~/app/ 一:分布式文件系统搭建HDFS 1,下载Hadoop HDFS环境搭建 使用版本:hadoop-2.6.0-cdh5.7. ...
- django——模板层
每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是 ...
- 06-Python入门学习-元组、字典、集合类型
一.元组 一:基本使用:tuple 1 用途: 记录多个值,当多个值没有改的需求,此时用元组更合适 2 定义方式: 在()内用逗号分隔开多个任意类型的值 t=(1,1.3,'xx',('a','b') ...
- opencv coudn't find video stream from "XXX(文件名)"
opencv coudn't find video stream from "XXX(文件名)" 我用的是clion 解决方法: 把路径设为完整路径,如"C:/XXX&q ...
- linux for循环 fork() 产生子进程
#include <sys/types.h> #include <unistd.h> #include<stdio.h> int main() { for(int ...
- SQL - 1.区分login、user、schema和role
Login Login 是Server一级的概念,表示登录Server的凭证,比如在Server_A上有一个数据库DA,那么想要访问数据库DA,第一步要做的事情就是先登录到Hosting该数据 ...
- 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法二 不改源码添加META-INF/dubbo元数据
一.官网提供的方法 参考官网 http://dubbo.apache.org/zh-cn/docs/dev/impls/load-balance.html 二.方法总结 在工程中创建类并实现LoadB ...
- Express全系列教程之(四):获取Post参数的两种方式
一.关于POST请求 post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新.相比于get请求,post所 ...
- mysql查询两个日期之前相隔的天数
select timestampdiff(SECOND,'2011-09-25 23:23:13','2011-09-26 22:23:11'); 其中SECOND同样可以改为HOUR,MINUTE
- Mysql5.8解压版安装问题:TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
问题描述: cmd显示如下: .err文件显示: [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe shoul ...