一、为何进行脚本参数化?
脚本在录制的时候,记录的参数都是常量值,这样,虚拟用户在执行同一个脚本,向服务器发送请求时,使用的都是同一个参数值,与实际不符。所以使用参数化技术。
二、参数化的逻辑?
对脚本中的常量进行参数化,让不同的VU在执行相同的脚本时,分别使用参数数据源中的不同数据来代替这些常量,从而达到模拟多用户真实使用系统的目的。
三、脚本参数化的步骤?
1.确定需要参数化的数据
2.准备数据
3.参数化
四、如何进行参数化?

1、把需要参数化的用户名选中,右击鼠标,选中replace with a parameter,如下图-44所示:

图-1

2、把参数名称改为username,如下图-45所示:

图-2

3、选中要参数化的密码,右击鼠标,选中replace with a parameter,如下图-46所示:

图-3

4、把参数名称改为passwd,如下图-47所示:

图-4

5、参数化的代码为下图-48所示:

图-5

五、参数池策略

1.select next now(取值方式 ? who?)

(1)顺序:对于每个VU,都是从第一行开始,顺序(依次)向下取值--------每个VU取值序列相同
(2)唯一:对于每个VU,从第一行开始,唯一的依次向下取值--------每个VU取值序列不同
规律:如果是单用户,顺序和唯一的取值序列相同
(3)随机:每个VU都可随机取值,可重复
(4)和XX步调一致:和XX参数取值行相同
2.Update Value on(如何取? when?)
(1)每次迭代:每次脚本循环(Action)时更新参数值
(2)每次遇到:脚本运行时,只要遇到即更新参数值(每次遇到=每次迭代次数*n(n表示脚本Action中参数出现的次数))
规律:对于单用户,如果脚本中某参数只出现一次,每次迭代和每次遇到的取值序列相同
(3)只取一次:一次取值,从不改变
说明:Once整个过程不改变;Random:任意取值
(4)out of value(越界策略--参数池策略不够时unique)
<1>放弃VU:直接放弃该虚拟用户,会报错
<2>以循环的方式继续:循环从第一行开始
<3>以最后一个值继续:一直使用最后一个值

=================================================================================

参数池策略练习:
题目一:某参数现有备份数据a1,a2,a3...a30;Action中实现3次for循环;脚本迭代2次(不打开控制台),完成以下结果:
1.顺序+每次迭代:a1
a1 a1,a2 a2 a2
每次迭代时换值,每次迭代使用3次
2.唯一+每次迭代:a1 a1 a1,a2 a2
a2
单用户,顺序和唯一是一样的;迭代时换值
3.随机+每次迭代:a12 a12 a12,a9 a9
a9
每次迭代取随机值
4.顺序+每次遇到:a1 a2 a3,a4 a5
a6
只要遇到name就换值,从第一个开始
5.唯一+每次遇到:a1 a2 a3,a4 a5
a6
单用户,顺序和唯一是一样的;
考虑超过值时,关注block块大小
对于单用户,无需关注块大小,多用户(控制台)才考虑
改为:外循环5次(run-time
setting),内循环10次(for循环)
要准备充足的数据
when out value:
1.Abort
Vuser放弃VU:报告出错
Action.c(7): Error: Parameter 'name': No more unique values
for this parameter in table 'name.dat'
[unique range is 1-30]. The Vuser is
aborted according to "When Out Of Values" policy.
2.continue in a cyclic
manner继续从头再来:不会出错,正常取值
3.continue with last
value持续最后一个:结果正常,日志报错
Action.c(7): Error: Parameter 'name': No more unique
values for this parameter in table 'name.dat'
[unique range is 1-30].The
parameter continues with last value of the range according to "When Out Of
Values" policy.
6.随机+每次遇到:a13 a19 a2,a27 a30
a4
一共遇到2*3=6次,随机取值
7.顺序+一次:a1 a1 a1,a1 a1 a1
8.唯一+一次:a1 a1 a1,a1 a1
a1
9.随机+一次:a8 a8 a8,a8 a8 a8
题目二:某参数现有备份数据a1,a2,a3...a30;脚本迭代4次;3个VU;完成以下结果:
1.顺序+每次迭代:<重要>
VU1:a1
a2 a3 a4;
VU2:a1 a2 a3 a4;
VU3:a1 a2 a3
a4;
2.唯一+每次迭代:(无特殊说明,块大小自动分配)<重要>
VU1:a1 a2 a3 a4;
VU2:a5 a6 a7
a8;
VU3:a9 a10 a11
a12;
从第一行开始取值,每个VU都不同;每个VU迭代4次,取值4次(默认块大小为4)
3.随机+每次迭代:<重要>
VU1:a11
a15 a3 a27;
VU2:a5 a10 a7 a22;
VU3:a21 a11 a15
a12;
4.顺序+每次遇到:
VU1:a1 a2 a3 a4;
VU2:a1 a2 a3 a4;
VU3:a1 a2 a3
a4;
5.唯一+每次遇到:(块大小为6)<重要>
VU1:a1 a2 a3 a4;
VU2:a7 a8 a9
a10;
VU3:a13 a14 a15 a16;
6.随机+每次遇到:
VU1:a9 a15 a3 a17;
VU2:a5 a17
a6 a22;
VU3:a21 a11 a2 a12;
7.顺序+一次:<重要>
VU1:a1 a1 a1
a1;
VU2:a1 a1 a1 a1;
VU3:a1 a1 a1
a1;
每个VU取值一样,都从第一个开始
8.唯一+一次:<重要>
VU1:a1 a1 a1 a1;
VU2:a2 a2
a2 a2;
VU3:a3 a3 a3
a3;
从第一个开始,每个VU唯一向下取值,每个VU取值后不变
9.随机+一次:<重要>
VU1:a4 a4 a4
a4;
VU2:a16 a16 a16 a16;
VU3:a9 a9 a9 a9;
10.唯一+每次迭代:(块大小为6)
VU1:a1
a2 a3 a4;
VU2:a7 a8 a9 a10;
VU3:a13 a14 a15 a16;

Loadrunner--参数化知识点及参数池策略的更多相关文章

  1. Loadrunner参数化逗号报错解决方法

    Loadrunner参数化逗号报错解决方法     介绍Loadrunner参数化时,参数中包含有逗号时出错的解决方法. 在Loadrunner进行参数化时,参数中如果含有逗号,编辑保存后会报错: 此 ...

  2. [Loadrunner参数化]一个文件输两列参数的取值

    关于LoadRunner参数化的内容,在脚本开发中属于非常重要的一个知识点.关于这部分知识,在书上和网上到处都能找到,本篇只讲一种特殊情况:一个参数化文件为File类型,有多列值,如何进行参数化取值. ...

  3. LoadRunner参数化&关联

    我们用 HTTP 协议做脚本,要注意的是,不同协议的函数是不一样的,假如换 websocket 协议,关联函数就要用其他的 参数化 原理 1.什么叫参数化 把脚本内一个写死的值,去一个数组内取值,进行 ...

  4. Loadrunner参数化连接oracle、mysql数据源报错及解决办法

    Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64,  两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...

  5. 复习loadRunner参数化

    参数化: 为什么要用参数化? 如果是单一数据,那么会纯测试缓存. 如果是参数化,基本上大部分数据不会被缓存命中. 极端情况:所有的数据都不会被缓存命中,或者少量命中. 在loadrunner中,所有的 ...

  6. LoadRunner参数化取值与连接数据库

    LoadRunner参数化取值与连接数据库   LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接 ...

  7. LoadRunner 参数化之 连接数据库进行参数化

    LoadRunner 参数化之 连接数据库进行参数化 Loadrunner(简称“LR”)对性能测试的脚本进行参数化时,由于数据量偏大,大家往往都会把数据录入到数据库表里,然后关联到LR,本文将详细介 ...

  8. 认识loadrunner及相关性能参数

    认识loadrunner及相关性能参数 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整 ...

  9. LoadRunner参数化时的各个选项说明

    LoadRunner参数化时的各个选项说明 分类: LoadRunner 2009-03-27 09:32 6294人阅读 评论(1) 收藏 举报 loadrunnerrandomgeneratore ...

随机推荐

  1. HRBUST 1819 石子合并问题--圆形版

    石子合并问题--圆形版 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HRBUST. Original ...

  2. [BZOJ3526][Poi2014]Card 线段树

    链接 题意:有一些卡牌,正反各有一个数,你可以任意翻转,每次操作会将两张卡牌的位置调换,你需要在每次操作后回答以现在的卡牌顺序能否通过反转形成一个单调不降的序列 题解 线段树上维护 \(f[o][0/ ...

  3. android 图片特效处理之锐化效果

    这篇将讲到图片特效处理的锐化效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理: 一.简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的 ...

  4. sql创建外键

    建立外键关系:先建主表再见从表:主表:create table zhu(code int parimary key,name varchar(20)) ;从表:create table cong(co ...

  5. HDU 1576 A/B 数论水题

    http://acm.hdu.edu.cn/showproblem.php?pid=1576 写了个ex_gcd的模板...太蠢导致推了很久的公式 这里推导一下: 因为 1 = BX + 9973Y ...

  6. Windows学习总结(3)——成为电脑高手必备的cmd命令大全

    曾经看电影和电视里面电脑黑客快速敲击电脑键盘,一行行命令在电脑屏幕闪过,一个回车过后,一排排英文象走马灯一样在屏幕上转瞬即逝,那才是我们梦寐以求的高手,有木有!实际上,不光是黑客和系统维护人员,一般的 ...

  7. tokumx的安装和使用

    Add the Tokutek package signing key. $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key ...

  8. scrollBarStyle- listview滑动条调整

    今天在解决问题的时候,需要设置listview滚动条,使listview的内容不能被滚动条覆盖 后来发现网上提到一个 ScrollView 属性.ScrollView中ScrollBar的style ...

  9. 1.19 Python基础知识 - 软件目录开发规范及不同模块之间的调用

    一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作.比如核心代码的目录, ...

  10. iTOP-4412开发板使用

    使用环境:win7 旗舰64位,VMware11 使用使用板上提供的ubuntu12.04,用VMWARE直接打开虚拟机,因为之前开发epc9600开发板,所以虚拟机网络已经设置过,加载ubuntu1 ...