loadrunner 脚本优化-参数化之Parameter List参数取值
脚本优化-参数化之Parameter List参数取值
by:授客 QQ:1033553122
参数取值选项
Select next row
Update value on


以上两个选项是改变参数化取值的关键选项。
Select
next row包含如下选项:
Sequential:顺序选择
Random:随机取值
Unique:唯一值
Update
value on包含以下选项:
Each
iteration:每次迭代更新。
Each
occurrence:每次取值更新
Once:只更新一次
1
Sequential+Each iteration取值


这种取值是按顺序的,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Each
iteration是基于Run-timesettings->Run
Logic中的迭代次数完成记录变化操作的。
例子:
Action3()
{
lr_eval_string("{NewParam}");
return
0;
}
迭代次数1:NewParam取值
甲
迭代次数5:NewParam取值
甲|乙|丙|丁|戊
迭代次数6:NewParam取值
甲|乙|丙|丁|戊|甲
注意:Update on value on Each
iteration时,只有开始了新的一次迭代,也就是说回放日志中出现了Starting
iteration才会触发记录变化,否则取值内容均不变化
例如:迭代次数为2
Action3()
{
for (int
i=0;i<2;i++)
{
lr_eval_string("{NewParam}");
}
return 0;
}
NewParam取值
甲甲乙乙
2
Sequential+Each occrrence取值


按顺序取值,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Each
occrrence只要取了一次参数值,参数值就变化,取下一个参数值
例子:
Action3()
{
lr_eval_string("{NewParam}");
lr_eval_string("{NewParam}");
return 0;
}
如果迭代次数
1:NewParam取值
甲|乙
如果迭代次数
2:NewParam取值
甲|乙|丙|丁
3
Sequential+Once取值


按顺序取值,即按照Parameter
List中记录的先后顺序从上往下取值,当记录取完后,再重新从记录头开始取值,而Once针对整个脚本来说,只要取了一次参数值,参数值就不再变化了
Action3()
{
lr_eval_string("{NewParam}");
return 0;
}
无管迭代多少次,或者for循环,NewParam取值都是甲
4
Random+Each iteration取值
VuGen会从参数列表中随机取出一条记录,其取值的次数受到Update
value on选项的限制。
Random+Each
iteration:每当一次新的Starting
iteration开始,重新从参数列表中取一次随机值。


5
Random+Each occurrence
每当取一次该参数值,从参数列表中重新取一次随机值
6
Random+Once
当第一次取到随机内容后,再不更新记录。


7
Unique取值
一种更高级的顺序取值,强调取值的唯一性,但是违反了该规则也能继续运行,VuGen提供了When
out of values选项来处理非唯一的情况【当且仅当Update
value on Each iteration,Update
value on Each occurrence, When out of values才可以用】


其中,update
value on和上面的意思一样,不再赘述
When
out of values
1)Abort
Vuser
当参加参数取值超出参数表记录的条数时,忽略用户脚本,停止运行脚本
2)Continue
in a cyclic manner
当参数取值超出参数表记录时,使用循环扫描的方式
3)Continue
with last value
当参数取值超出参数表记录时,使用参数表中的最后一个值
列子:




Action3()
{
lr_eval_string("{NewParam}");
return
0;
}
迭代6次


小技巧:有时候,需要手工将参数的值下移一位(不管是不是Update
value on Each iteration),怎么办?使用lr_advance_param()函数来解决这个问题,
例子:前面脚本的参数{NewParam},Sequential+Each
iteration,使用脚本:
lr_eval_string(“{Newparam}”);
lr_eval_string(“{Newparam}”);
运行结果
甲|甲
lr_eval_string(“{Newparam}”);
lr_advance_param(“Newparam”);
lr_eval_string(“{Newparam}”);
运行结果
甲|乙
阅读下篇:
loadrunner 脚本优化-参数化之Parameter List参数取值的更多相关文章
- loadrunner 脚本优化-参数化之Parameter List参数同行取值
脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...
- loadrunner 脚本优化-参数化方法
脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- loadrunner脚本优化-ParameterList参数类型介绍
脚本优化-Parameter List参数类型介绍 by:授客 QQ:1033553122 篇幅问题,这里采用网盘下载的方式和大家分享: 百度网盘分享: 链接: http://pan.baidu.co ...
- loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...
- loadrunner 脚本优化-关联设置
脚本优化-关联设置 by:授客 QQ:1033553122 关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数 ...
- loadrunner脚本中参数化和返回值输出log到外部文件
loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参 ...
- loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式
loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...
随机推荐
- Ubuntu 18.04基本配置
允许WinSCP使用root连接 默认是不允许的,具体方法出自这里(传送门),修改ssh配置,在/etc/ssh下,修改sshd_config文件 PermitRootLogin yes 即可.默认不 ...
- 访问iis 出现500.19错误
解决方案: 原因是asp应用程序没有打开,于是就在控制面板--程序---打开和关闭windows功能---internet信息服务----万维网服务------应用程序开发功能中选中全部 可能接下来会 ...
- python基础-列表(7)
一.列表格式 列表名 = [列表元素1,列表元素2,列表元素3,… ] 说明: 列表元素之间是有顺序的,也是通过下标表示,第一个元素的小标为0. 列表元素可以不是同种类型,任何类型都行 列表通常当做容 ...
- Zookeeper-watcher机制源码分析(一)
Watcher的基本流程 ZooKeeper 的 Watcher 机制,总的来说可以分为三个过程:客户端注册 Watcher.服务器处理 Watcher 和客户端回调 Watcher 客户端注册wat ...
- Jexus~mono中使用StackExchange.redis的问题
在windows平台的vs里,添加包包时,可以选择StackExchange.redis,而如果你的应该程序需要部署到linux的mono环境上,使用这个StackExchange.redis是不行的 ...
- 1.numpy的用法
numpy创建ndarray对象的三种方法 1.1.list转化 In [8]: import numpy as np In [9]: a = [1,2,3,4] In [10]: x1 = np.a ...
- (转载)CPU、内存、硬盘、指令以及他们之间的关系
CPU.内存.硬盘.指令以及他们之间的关系 最近读完<程序是怎样跑起来的>以及<深入理解计算机系统>的3.6.9章节后对计算机的组成有了更深入细致的了解,现总结一下对CPU.内 ...
- 2019年2月备战春招最新大数据+Java岗位+人工智能岗位资料免费送【限时领取】
不多说,直接上干货! 欢迎大家,关注微信扫码并加入我的3个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 每天都有大量的学习视频资料和精彩 ...
- leetcode — spiral-matrix-ii
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...
- linux 命令 — archive
tar 一般用法 tar -cf out.tar [files] tar -cf out.tar file1 file2 -c :创建文件 -f:指定创建的文件名称,-f必须是所有参数的最后一项,比如 ...