loadrunner参数化总结

摘要:
二、Random与Updatevalueon各个选项的组合情况:1.Random+Eachiteration说明:每当一次新的迭代开始,从参数列表中取一次随机值。

Select next row:Sequential,Rondom,Unique
Update value on:Each iteration,Each occurrence,Once
下面分别对这两种取值情况组合介绍
一、Sequential与Update value on各个选项的组合情况:
1.Sequential+Each iteration
说明:此组合是在每次迭代时,顺序循环取值,即迭代次数超过参数个数时,循环取值
1.当此组合放在vuser_init函数中时,取Action第一次迭代的值
2.当此组合放在Action函数中是,取值为顺序取值(fromFirst->toLast->fromfirst),可以从ReplayLog中,以“Starting iteration”
为标志
3.当此组合放在vuser_end函数中时,取Action最后一次迭代的值
总结:vuser_int函数包含在Action的第一次迭代中,而vuser_end函数包含在Action最后一次迭代中,此组合只受迭代的影响。
2、Sequential+Each occurrence
说明:此组合是在每次发生参数取值时,就会更新参数值,同样是顺序取值。
此组合的特点是取值与迭代无关,不管是在vuser_init(),Action(),vuser_end()中,只要发生取值,就会从参数列表中顺序循环取
值。
3、Sequential+Once
说明:这种组合比较简单,对于整个脚本来说参数值只取一次,再也不会更新,且与脚本迭代无关。
二、Random与Update value on各个选项的组合情况:
1.Random+Each iteration
说明:每当一次新的迭代开始(以Starting iteration为标志),从参数列表中取一次随机值。
总结:与“Sequential+Each iteration”这中情况相同,vuser_int函数包含在Action的第一次迭代中,而vuser_end函数包含在Action最后一次迭代中,只受迭代的影响。
唯一的不同点:每次取值方式不同。
2.Random+Each occurence
说明:每当取一次参数值时,从参数列表中取一次随机值。
总结:取值情况与“Sequential+Each occurrence”类似,
唯一不同点:此组合每次取值方式是随机从参数列表中读取的,而前者每次取值是顺序循环的方式读取值。
3.Random+Once
说明:当第一次取到值时,再也不更新记录
总结:与“Sequential+Once”类似,唯一不同的是取值方式不同。
三、Unique与Update value on各个选项的组合情况:
说明:1.Unique取值是一种类似于Sequential的顺序取值方式
不同点:Unique强调的是取值的唯一性,即当取值遍历完参数列表中的数据时,默认将终止vuser

2.通过When out of values选项可以设置vugen对vuser超出参数列表边界时的处理方式:
1.Abort Vuser:默认是此模式,当参数取值超出参数表记录的条数时,中止当前vuser
2.Continue in a cyclic manner:此方式与“Sequential”完全相同。
3.Continue with last value:当参数取值超出参数表记录的条数时,使用参数列表中最后一个值。

1.Unique+Each Iteration 设置了run上的迭代次数后,按照纪录顺序读取,当纪录超出列表后,执行when out of values策略
2.Unique+Each occurrence 每当参数取值时,顺序读取参数纪录,当纪录超出列表后,执行when out of values策略
3.Unique+Once 第一次取值后,一直使用该记录
到这里就把Select next row与Update value on中的各选项组合介绍完毕,在实际应用中可能这些组合还是无法满足我们对参数取值,下面
介绍两个常用函数,手工将参数值下移一位,以Sequential+Each iteration为例。
1.lr_advance_param()
参数列表name中,顺序存储A,B,C,D四个数据,如果想参数在第一次Action迭代中,取得A值后,紧接取得B值,显然依靠之前的9种
组合无法完成,接下来以代码为例,讲解lr_advance_param()的使用。
代码:Action()
{
lr_eval_string("{name}"); //取值为A
lr_advance_param("name"); //Next row for parameter name,将参数取值下移一位
lr_eval_string("{name}"); //取值为B
return 0;
}
2.lr_next_row()
代码:Action()
{
lr_eval_string("{name}"); //取值为A
lr_advance_param("name.dat"); //Next row for parameter name,将参数取值下移一位
lr_eval_string("{name}"); //取值为B
return 0;
}
总结:两个函数主要区别在于前者在函数内的参数值是参数名称,后者写的是参数文件名。

免责声明:文章转载自《loadrunner参数化总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Repository模式中,Update总是失败及其解析List<T>的Sort()方法,传入Comparison<T>比较器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

loadrunner常见问题及解决办法

LoadRunner录制脚本时不弹出IE浏览器解决方法:启动浏览器,打开Internet选项对话框,切换到高级标签,去掉"启用第三方浏览器扩展(需要重启动)"的勾选,然后再次运行VuGen即可解决问题   Loadrunner录制脚本为空解决方法:去掉ie设置中的第三方支持取消掉在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的v...

loadrunner性能测试——入门

一、loadrunner介绍及特点 Loadrunner(从名字上可以理解为负载跑步者)是一种预测系统行为和性能的工业标准级负载测试工具,适用于各种体系架构的自动负载测试。 通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。 通过使用LoadRunner ,企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。 支持广泛的协...

loadrunner录制脚本为空

1、关掉杀毒软件和防火墙。 2、 录制选项那里选择其他浏览器,比如firefox,自带的在安装路径bin下面,需要将系统安装的高版本的firefox卸载。特别有效。 3、 计算机—属性—高级系统设置—性能里的设置—数据执行保护—选择“为出下列选定程序之外的所有程序和服务启用”—添加IE浏览器(正常路径为C:Program FilesInternet Exp...

LoadRunner 12下载和安装教程

我们利用LoadRunner可以对Web应用系统进行性能压力测试,本篇博客将和大家介绍下LoadRunner 12的下载和安装,在后续的博客中将和大家介绍其使用的方法。 1、LoadRunner 12.02下载地址:https://pan.baidu.com/s/1nuEE4Jn#list/path=%2F,下载完毕后,文件夹结构如下图所示:   2、打开...

[转]StructLayout特性

转自:http://www.cnblogs.com/JessieDong/archive/2009/07/21/1527553.html StructLayout特性 StructLayout特性          公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列。如果...

linux内核中的链表

1.内核中的链表 linux内核链表与众不同,他不是把将数据结构塞入链表,而是将链表节点塞入数据,在2.1内核中引入了官方链表,从此内核中所有的链表使用都采用此链表,千万不要在重复造车轮子了!链表实现定义在<linux/list.h>,使用内核链表时,包含此文件。 1.1.传统的双向链表和内核中的双向链表的区别 有个单独的头结点(head)...