我想使用参数化输入设置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参数化取值规则总结的更多相关文章

  1. lr参数化取值与连接数据库

    TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...

  2. Loadrunder之脚本篇——参数化取值策略

    参数取值选项 Select next row Update value on 以上两个选项是改变参数化取值的关键选项. Select next row包含如下选项: Sequential:顺序选择 R ...

  3. Jmeter VS LR参数取值方式和迭代方式

    Jmeter的参数化 Jmeter中的参数就是变量. 变量的来源:测试计划.UDV.CSV.函数.正则表达式.数据库. 以Jmeter的CSV文件参数化为例:

  4. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  5. LoadRunner参数化取值与连接数据库

    LoadRunner参数化取值与连接数据库   LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接 ...

  6. Loadrunner中参数化取值方式分析

    Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”.    select next row:Sequential , Random,unique 2.更新值时分为 ...

  7. LR参数化后取值规则小记

    对参数化的取值,只有一个用户的情况能分清,但是多用户多迭代就搞不懂,特意使用Parameter List中自带的参数化模拟器Simulate Parameter进行简单的实验,3条数据 + 4个用户 ...

  8. 参数化取值策略Unique

    Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...

  9. loadrunner 参数化取值方式详解

    参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...

随机推荐

  1. Node.js c++ 扩展之HelloWorld

    测试环境 vs:vs2017 node.js:9.9.6 相关地址 官方文档对应地址:https://www.nodejs.org/api/addons.html 官方案例对应地址:https://w ...

  2. 在Qt中配置TBB以及简单实用

    最近本人在写离线光线追踪渲染器,但是Qt::QtConcurrent的功能有限,所以就尝试使用了一下,顺便分享一些经验. TBB里面的parallel_for非常适合光线追踪渲染器,而QtConcur ...

  3. Python+Selenium+Pycharm

    我的环境是: 系统 Python Selenium win10 教育版64位 3.6.4 3.11.0 在Pycharm中安装好Selenium后,输入代码来测试: from selenium imp ...

  4. Linux 内核参数 arp_ignore & arp_announce 详解

    arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式. arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制:主机会根据这个参数值的不同选择使 ...

  5. C#中关键字 'User' 附近有语法错误

    关键字 'User' 附近有语法错误 你有没有出现过在编写一个小的系统的登录界面时出现“关键字 'User' 附近有语法错误”,下面是原因和解决方案: 原       因:user是关键字,不能用作表 ...

  6. help文档制作 chm

    程序中的help文档制作 所用工具:HTML Help Workshop 文件包括:各个html文档,帮助页面的具体内容 hhc文档:help的目录文件 hhk文档:help的索引文件 MAP文件夹中 ...

  7. __x__(42)0910第六天__表格布局 老旧的布局方法

    table 布局 不易于维护,耦合太严重了. 不利于搜索引擎检索. 效果图: html代码: <!doctype html> <html> <head> <m ...

  8. python语法_str_eval

    dict1 = {} a = str(dict1) type(a) = 字符串 b = eval(a) type(b) = 字典

  9. C++标准库algorithm

    (1) 基本数学相关: max(t1, t2)和min(t1, t2), 返回t1和t2中的较大.较小者. max_element(b, e)和min_element(b, e), 返回两个迭代器所指 ...

  10. Multi-Projector Based Display Code ---- ModelViewer

    Overview Model viewer is another application we provided for large display. It is designed for viewi ...