Loadrunder之脚本篇——参数化在场景中的运用
Action()
{
lr_eval_string("{NewParam}");
lr_eval_string("{NewParam}");
return 0;
}
参数设置:
举例说明
打开Tools>Create Controller Scenario选项,弹出如下图,选中Manual Scenario(手工场景),虚拟用户数为5个,其他选项使用默认
点击上图的OK,打开如下界面
Schedule设置
2、Run-Time Settings->Log,打开日志
注意:
确保Log options是Always send message,并且选中Parameter substitution,否则在场景日志中看不到参数取值的结果
3.确认测试结果目录。打开Results- >Results Settings,设置生成的测试报告所在目录及对应的结果名。如下图
4.运行整个场景,单击Start Scenario按钮或者按F5键。几秒中后脚本就执行完,到对应目录下,查看日志文件(也可以在场景中直接查看),文件名形式:脚本名_用户编号.log的形式。几个用户就会有几个文件,如果脚本出错,对应该用户的日志就不会生成。
步骤5:在Run Logic中设置迭代次数2,然后运行脚本,接着看不同的取值方式在场景中的效果
注意:如果需要修改场景脚本执行的iteration,必须在Controller的Run- time Settings中进行修改,而不能修改VuGen中的Run-time Settings
顺序取值
随机取值
唯一取值
当选择Unique取值时,在Parameter List里面会有一个新的选项,Allocate Vuser values in the Controller,三种情形,分别按如下设置
运行结果:
更改参数配置,添加值:N,如下,再测试
运行结果:
说明:
1、在Unique这种选项下,虚拟用户之间的取值是不同的,并且遵守唯一性取值,如果用户分配不到该值,那么就提示错误!
2、Continue in cycle manner:缺少参数值时,循环取值,特别要注意的是,仅在每个用户获取到的参数值范围内进行循环,见上述运行结果,比如Vuser2,获取到3个参数值,D,E,甲,第一次迭代,获取DE,第二次迭代,可获取的参数值仅有甲,还少一个,咋办?按策略,从头开始取,取D,这里的头不是从A开始的,而是分配Vuser2的参数值中的第一个,同理下面的Continue with the last Value也不是从最后一个N开始的,而是分配给用户的参数值中的最后一个
3、Aclocate X values for each Vuser:为每个用户分配X个参数值,例中,按上述的分配方式,可得到如下图,即每个用户分配到的具体参数
4、Automatically allocate block size(自动分配块):检查一个脚本有多少次迭代,然后让用户根据迭代次数分配该迭代大小的数据块
更改参数配置如下,继续测试
运行结果:
Loadrunder之脚本篇——参数化在场景中的运用的更多相关文章
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- Loadrunder之脚本篇——参数化同行取值
select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时才会出现,其作用是根据某一个参数的行号取同一行. 例中的做法如下: 将多个参数存放在一个参数文件中: ...
- Loadrunder之脚本篇——参数化取值策略
参数取值选项 Select next row Update value on 以上两个选项是改变参数化取值的关键选项. Select next row包含如下选项: Sequential:顺序选择 R ...
- Loadrunder之脚本篇——参数化方法
导语 参数化旨在模拟多数据来进行测试,所以再选择参数化你明确你参数化的内容! 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Pa ...
- Loadrunder之脚本篇——参数类型
Internal data Date/Time,Group Name,Iteration Number,Load Generator Name,Ramdom Number,Table,Unique N ...
- loadrunder之脚本篇——集合点设置
1 作用 通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力 2 实现 通过集合点函数来实现. 注意:集合点经常和事务结合起来使用.集合点只能插入到Action部分,vuser_in ...
- loadrunder之脚本篇——定义全局变量
如果参数是全局的,在脚本中的任何一个Action中都可以使用,变量一般是局部的,如果跨Action调用会出现未声明的错误. 打开Script视图中左侧Action列表中的globals.h文件,可定义 ...
- Loadrunder之脚本篇——关联
关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的.动态的值. 例子:常 ...
- Loadrunder之脚本篇——检查点
VuGen判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的是HTTP状态为200 OK,那么VuGen就认为脚本正确地运行了,并且是运行通过的.而大多数系统出错时是不会返回错误页面 ...
随机推荐
- C++ Primer(第五版)读书笔记 & 习题解答 --- Chapter 2
Chapter 2.1 1. 数据类型决定了程序中数据和操作的意义. 2. C++定义了一套基本数据类型,其中包括算术类型和一个名为void的特殊类型.算术类型包含了字符.整型.布尔值以及浮点数.vo ...
- iOS- 详解文本属性Attributes(转)
iOS- 详解文本属性Attributes 1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSFontAttributeName : [UIFont s ...
- JSP/Servlet环境配置
下载安装JDK并配置环境变量 这里我下载安装的是jdk-7u51-windows-i586,如果你没有请到Oracle官网下载: [我的电脑]-[高级系统设置]-[环境变量]-系统变量中的Path添加 ...
- jQuery 数据操作函数
函数 描述 .clearQueue() 从队列中删除所有未运行的项目. .data() 存储与匹配元素相关的任意数据. jQuery.data() 存储与指定元素相关的任意数据. .dequeue() ...
- python 集合set remove update add
1. 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. 集合对象是一组无序排列hashable value:集合成员可以做字典的键. 集合就像是 list 和 dict 的 ...
- C++实现文件关联
下面这段话是百度百科对文件关联的解释. 文件关联就是将一种类型的文件与一个可以打开它的程序建立起一种依存关系.举个例子来说,位图文件(BMP文件)在Windows中的默认关联程序是“画图”,如果将其默 ...
- 1. 写出一个能创建多级目录的 PHP 函数(新浪网技术部)
function create_dir($path,$mode){ if (is_dir($path)){ echo "该目录已经存在"; }else{ if(mkdir($pat ...
- ipod锁定后的恢复
1.断开 USB 线缆与设备的连接,但保持线缆的另一端与电脑的 USB 端口相连. 2.关闭设备:按住“睡眠/唤醒”按钮数秒,直到出现红色滑块,然后滑动该滑块.等待设备关闭. 3.按住主屏幕按钮,同时 ...
- ASP.NET MVC 使用dataTable(3)--更多选项参考
ASP.NET MVC 使用dataTable(3)--更多选项参考 jQuery dataTables 插件是一个优秀的表格插件,是后台工程师的福音!它提供了针对数据表格的排序.浏览器分页.服务器 ...
- Mysql InnoDB表结构
索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table).在InnoDB存储引擎表中,每张表都有个主键(Prim ...