loadrunner参数化总结
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参数化总结的更多相关文章
- Loadrunner参数化连接oracle、mysql数据源报错及解决办法
Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64, 两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...
- LoadRunner参数化MySQL
准备:安装[msql-ODBC驱动] 一.配置数据源 1.Win7,打开控制面板-系统和安全-管理工具,点击“数据源(ODBC)”. 打开数据源(ODBC),在用户DSN选项卡中点击“添加”按钮,弹出 ...
- [Loadrunner参数化]一个文件输两列参数的取值
关于LoadRunner参数化的内容,在脚本开发中属于非常重要的一个知识点.关于这部分知识,在书上和网上到处都能找到,本篇只讲一种特殊情况:一个参数化文件为File类型,有多列值,如何进行参数化取值. ...
- LoadRunner参数化&关联
我们用 HTTP 协议做脚本,要注意的是,不同协议的函数是不一样的,假如换 websocket 协议,关联函数就要用其他的 参数化 原理 1.什么叫参数化 把脚本内一个写死的值,去一个数组内取值,进行 ...
- Loadrunner参数化如何在记事本中将参数值显示超过100个参数值
Loadrunner参数化如何在记事本中将参数值显示超过100个参数值 1.loadrunner的参数值没有最大的限度, 可以修改C:\Program Files\HP\LoadRunner\conf ...
- Loadrunner参数化逗号报错解决方法
Loadrunner参数化逗号报错解决方法 介绍Loadrunner参数化时,参数中包含有逗号时出错的解决方法. 在Loadrunner进行参数化时,参数中如果含有逗号,编辑保存后会报错: 此 ...
- LoadRunner参数化取值与连接数据库
LoadRunner参数化取值与连接数据库 LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接 ...
- LoadRunner 参数化之 连接数据库进行参数化
LoadRunner 参数化之 连接数据库进行参数化 Loadrunner(简称“LR”)对性能测试的脚本进行参数化时,由于数据量偏大,大家往往都会把数据录入到数据库表里,然后关联到LR,本文将详细介 ...
- LoadRunner参数化时的各个选项说明
LoadRunner参数化时的各个选项说明 分类: LoadRunner 2009-03-27 09:32 6294人阅读 评论(1) 收藏 举报 loadrunnerrandomgeneratore ...
- LoadRunner参数化详解
LoadRunner参数化详解 距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又 ...
随机推荐
- PHP学习笔记10-图片加水印
先找好一张图片,更名为face.jpeg,创建watermark.php: <?php /** * Created by PhpStorm. * User: Administrator * Da ...
- (Problem 47)Distinct primes factors
The first two consecutive numbers to have two distinct prime factors are: 14 = 2 7 15 = 3 5 The fi ...
- linux分区工具fdisk的使用
fdisk是linux下的一块分区工具,使用简单方便,由于是对系统进行修改,需要root权限. 常用参数如下: fdisk -l : 列出所有的硬盘信息 直接传入设备名称可进入对该硬盘分区.例如,f ...
- Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer'
@Configuration public class HttpSessionConfig { @Bean public static ConfigureRedisAction configureRe ...
- vs2010 调试中监视变量
在msdn中写了如何查看调试的数据,网址: http://msdn.microsoft.com/zh-cn/library/vstudio/esta7c62(v=vs.100).aspx Visual ...
- 如何用 Swift 语言构建一个自定控件
(via:破船之家,原文:How To Make a Custom Control in Swift) 用户界面控件是所有应用程序重要的组成部分之一.它们以图形组件的方式呈现给用户,用户可以通过它 ...
- javascript 简单实现对两个数组相似度的检验
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- java -- 轻量级锁
在了解轻量级锁之前,首先要知道什么是CAS CAS--Compare And Swap 比较并交换--通过比较传入的旧值和原内存位置中的值比较,来决定是不是要更新数据. CAS的语义是“我认为V的值应 ...
- {key}面向对象程序设计-C++ polymorphism 【第十三次上课笔记】
Peronal Link: http://segmentfault.com/a/1190000002464822 这节课讲了本门课程 面向对象程序设计中最为重要的一个部分 - 多态 /******** ...
- (Problem 14)Longest Collatz sequence
The following iterative sequence is defined for the set of positive integers: n n/2 (n is even) n 3n ...