Loadrunder之脚本篇——参数化取值策略
参数取值选项
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}”);
运行结果 甲|乙
Loadrunder之脚本篇——参数化取值策略的更多相关文章
- Loadrunder之脚本篇——参数化同行取值
select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时才会出现,其作用是根据某一个参数的行号取同一行. 例中的做法如下: 将多个参数存放在一个参数文件中: ...
- Loadrunder之脚本篇——参数化在场景中的运用
Action() { lr_eval_string("{NewParam}"); lr_eval_string("{NewParam}"); return 0; ...
- Loadrunder之脚本篇——参数化方法
导语 参数化旨在模拟多数据来进行测试,所以再选择参数化你明确你参数化的内容! 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Pa ...
- 参数化取值策略Unique
Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...
- 参数化取值策略Sequential
1.Sequential+Each iteration(顺序方式+每次迭代更新取值),设置Run—Logic中action循环迭代11次,并运行以上脚本,结果如下: 2.Sequential+ ...
- 参数化取值策略Random
1.Random+Each iteration,跟顺序读取的结果唯一不同的就是这里是随机读取,取值是每次迭代取值 2.Random+Each occurrence,随机取值更新方式 3.R ...
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- Loadrunner中参数化取值方式分析
Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”. select next row:Sequential , Random,unique 2.更新值时分为 ...
- lr参数化取值与连接数据库
TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...
随机推荐
- 第八章 springboot + mybatis + 多数据源3(使用切面AOP)
引入 aop包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- codeforces #364b Cells Not Under Attack
比赛的时候 long long sum=n*n,计算不出1e10长度到数,没有搞掉. 哎,以后要注意这个地方.这个题其实不难: 统计能被攻击到的个数,然后用总的个数减掉就可以了.注意有些地方重复计算, ...
- Java并发编程(九)安全发布
之前讨论是如何将对象封闭在线程之中,这样可以减少一些并发带来的同步和可见性问题.但是在有些时候,我们希望在多个线程间共享对象,此时必须确保安全地进行共享. [不安全发布的示例] 可见性问题:其他线程看 ...
- 基于GitLab的前端Assets发布体系
以SVN+RMS为核心的发布系统,对前端开发的影响上来看,存在以下问题: 覆盖式的发布,容易导致线上问题. js一旦发布,就有可能被任意其他页面使用.被引用的越多,就越重要.一旦核心js出现故障,影响 ...
- MAC信息摘要
MAC(Message Authentication Code ,消息认证码算法)是含有密钥散列函数算法,兼容MD和SHA算法的特性,并在此基础上加入了密钥.因此,MAC也称为HMAC. ...
- 搭建RocketMQ踩的坑-内存不足
环境是vmvare+ubuntu 1.http://rocketmq.apache.org/docs/quick-start/ 按照官网来启动mqnamesrv和mqbroker报错 错误如下 The ...
- gstreamer 10.5版本发布啦
- bitset在acm中的应用
ps:最近碰到一些用bitset优化常数的题目,以前也有接触但是都没有记下来,所以来写一篇博文 记录以后碰到的类似的题目. 应用一: 优化boolean multiplication 在做dp的时候, ...
- Web里URL空格的转换方法
今天收到一个Bug修复的任务,Bug为在页面上输入一个文件夹名包含空格,点击该文件夹的URL后链接错误. 看URL是HttpUtility.UrlEncode将空格转换成了“+”号,原因找到就着手解决 ...
- window.XMLHttpRequest对象详解
来自:http://blog.csdn.net/lccone/article/details/7743946 window.XMLHttpRequest XMLHttpRequest对象是当今所有AJ ...