脚本优化-场景中的参数化取值

by:授客 QQ1033553122

 

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(自动分配块):检查一个脚本有多少次迭代,然后让用户根据迭代次数分配该迭代大小的数据块

更改参数配置如下,继续测试

运行结果:

loadrunner 脚本优化-参数化之场景中的参数化取值的更多相关文章

  1. loadrunner 脚本优化-参数化之Parameter List参数同行取值

    脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...

  2. loadrunner 脚本优化-参数化之Parameter List参数取值

    脚本优化-参数化之Parameter List参数取值 by:授客 QQ:1033553122 参数取值选项 Select next row Update value on 以上两个选项是改变参数化取 ...

  3. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

  4. loadrunner 脚本优化-事务时间简介

    脚本优化-事务时间简介 by:授客 QQ:1033553122 事务概念 事务是指用户在客户端做一种或多种业务所需要的操作集(actions),通过事务开始和结束函数可以标记完成该业务所需要的操作内容 ...

  5. 关于模板中的动态取值 ---反射与javascript脚本编译

    在项目中经常遇到一个问题,打印word或者打印excel的时候,我们经常使用一对一的赋值或者批量替换的方式来对模板进行修改. 但是现在遇到两种场景: 1.取值是通过自定以方法进行取值的. 如:一个销售 ...

  6. C#中float的取值范围和精度

    原文:C#中float的取值范围和精度 float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: floa ...

  7. C语言中数据类型的取值范围

    C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...

  8. mybatis中两种取值方式?谈谈Spring框架理解?

    1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ ...

  9. LoadRunner脚本优化之—参数化迭代介

    在LoadRunner的脚本优化时,有时发送给服务器的请求参数化时,服务器返回的内容也会和参数化的内容相对应,例如发送的请求带有查询key=123,则服务器也会返回含有123相关的内容.这时我们在使用 ...

随机推荐

  1. ubuntu 16.04 下安装NVDIA的库(CUDA+CUDNN)

    立志学习神经网络的同学,为了让它能够跑快一点,估计英伟达的GPU是要折腾一番的. 首先看一下什么是CUDA ? CUDA(Compute Unified Device Architecture),是显 ...

  2. git gc和fsck的用法

    一.保证git良好的性能 在大的仓库中, git靠压缩历史信息来节约磁盘和内存空间. 压缩操作并不是自动进行的, 你需要手动执行 git gc: $ git gc 压缩操作比较耗时, 你运行git g ...

  3. 11.Django2.0文档

    第四章 模板 1.标签 (1)if/else {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% e ...

  4. linux 命令 — archive

    tar 一般用法 tar -cf out.tar [files] tar -cf out.tar file1 file2 -c :创建文件 -f:指定创建的文件名称,-f必须是所有参数的最后一项,比如 ...

  5. ES6躬行记(11)——对象

    在第5篇中,讲解了多个对象字面量的改进,本节将重点介绍两个新增的静态方法,以及对象属性的重复处理和枚举顺序. 一.Object.is() 此方法用于判断两个值是否相同,内部实现了SameValue算法 ...

  6. Linux常用命令之链接命令和权限管理命令

    目录 1.链接命令 一.生成链接文件命令:ln 2.权限管理命令3.总结 一.更改文件或目录权限命令:chmod 二.改变文件或目录所有者命令:chown 三.改变文件或目录所属组命令:chgrp 四 ...

  7. 深入理解Java虚拟机阅读心得(一)

    JVM(Java Virtual Machine) 即Java虚拟机,是一种用于计算设备的规范,用于运行Java程序编译后得到的字节码文件(Class文件) 一.JVM的内存区域 1.程序计数器(Pr ...

  8. Mac CLion下OpenGL环境配置

    1. 配置glew和glfw 终端下运行下面两句,安装完后在/usr/local/Cellar/下可以找到对应的目录. brew install glew brew install glfw3 效果如 ...

  9. python包导入细节

    包导入格式 导入模块时除了使用模块名进行导入,还可以使用目录名进行导入.例如,在sys.path路径下,有一个dir1/dir2/mod.py模块,那么在任意位置处都可以使用下面这种方式导入这个模块. ...

  10. Linux某些命令找不到/无法使用

    1.zip/unzip: command not found yum list | grep zip/unzip yum install zip yum install unzip 2.rz -y/s ...