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就认为脚本正确地运行了,并且是运行通过的.而大多数系统出错时是不会返回错误页面 ...
随机推荐
- std::copy ( myvector.begin(), myvector.end(), out_it )
在实际生产环境中,不能进行调试,所以程序通常需要编译一个DEBUG版本来辅助我们找出问题所在,编译这样的DEBUG版本最常用的手段就是在关键处输出我们关心一些变量的值到屏幕. 如果输出的简单的变量值, ...
- android http通信之HttpURLConnection post乱码问题
楼主前段时间做android项目,用到http通信,于是楼主本着练手的态度,自己写httpUrlConnection通信过程,然后在测试的时候,发现使用post请求一直乱码,这时候楼主开始看发送的数据 ...
- eclipse建maven pom报错
pom报:org.apache.maven.archiver.MavenArchiver.getManifest 解决办法: 升级m2eclipse插件版本 help->install news ...
- TensorFlow实战:Chapter-4(CNN-2-经典卷积神经网络(AlexNet、VGGNet))
转载自:http://blog.csdn.net/u011974639/article/details/76146822 项目:https://www.cs.toronto.edu/~frossard ...
- Android输入法的显示与隐藏
显示输入法: public void ShowSoftInput(View v) { // v 接受输入的控件 mInputMethodManager = (InputMethodManager) ( ...
- #1589 : 回文子串的数量(Manacher)
#1589 : 回文子串的数量 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个字符串S,请统计S的所有|S| * (|S| + 1) / 2个子串中(首尾位置不 ...
- 学习编译并运行C代码
以<UNIX网络编程>中的代码为例,学习如何编译并运行C代码. 根据 UNIX网络编程(第3版)环境搭建——使用MAC OSX10.10,能够成功运行 1.下载本书的头文件及示例源码原书地 ...
- JavaScript事件onblur与onfocus区别
一.onblur 1.1 说明 onblur属性在元素失去焦点时触发,onblur常用于表单验证代码(例如用户离开表单字段). 1.2 示例 <input type="text&quo ...
- 使用Sentry集中化日志管理
在调试程序中,通过日志分期来排查BUG是一个重要手段,它可以说是程序调试的利器. 关于日志管理 随着应用组件变多,那么各coder对输出日志五花八门,有写入stdout,有写stderr, 有写到sy ...
- 理解是最好的记忆方法 之 CSS中a链接的4个伪类为何有顺序
在CSS中,a标签有4种伪类,分别为: a:link, a:visited, a:hover, a:active 对其稍有了解的前端er都知道,4个伪类是有固定顺序的(LVHA),否则很容易出现预期之 ...