参数化的定义:使用指定的数据源中的值来替换脚本录制生成的语句中的参数。

对Vuser脚本进行参数化的好处:

1、减小脚本的大小

2、提供了使用不同的脚本的值执行脚本的能力

参数化涉及两个任务:

1、用参数替换Vuser脚本的常量值

2、为参数设置属性和数据源

“Select next row”定义的是如何选择下一行数据。该处有三个选项"Sequential","Random","Unique",

Sequential:顺序地向Vuser分配数据。

Random:当测试开始运行时,“随机”方法为每个Vuser分配一个数据表中的随机值。

Unique:为每一个Vuser的参数分配一个唯一的顺序值。在这种情况下必须确保表中的数据对所有的Vuser

和它们的迭代来说是充足的。如果拥有20个Vuser并且要进行5次迭代,则测试者的表格中必须至

少包含100个数值。

“Update value on”定义的是什么时候更新数据值,备选项有每次迭代,每次出现和一次。

表  LoadRunner参数更新方法和数据分配

更新方法

数据分配方法

顺序

随机

唯一

每次迭代

对于每次迭代Vuser会从数据表中提取下一个值。

对于每次迭代,Vuser会从数据表中提取新的随机值。

对于每次迭代,Vuser会从数据表中提取下一个唯一值。

每次出现(仅数据文件)

参数每次出现时,Vuser将从数据表中提取下一个值,即使在同一次迭代中。

参数每次出现时,Vuser将从数据表中提取新的随机值,即使在同一迭代中。

参数每次出现时,Vuser将从数据表中提取新的唯一值,即使在同一迭代中。

一次

对于每一个Vuser,第一次迭代中分配的值将用于所有的后续迭代

第一次迭代中分配的随机值将用于该Vuser的所有迭代

第一次迭代中分配的唯一值将用于该Vuser的所有后续迭代

如果LoadRunner的函数中某个参数不能直接使用LoadRunner参数,那么可以通过lr_eval_string进行转换取到参数的值。

参数表中select next row和update value on的设置

LR的参数的取值,和select next row和update value on的设置都有密不可分的关系。 下表给出了select next row和update value on不同的设置,对于LR的参数取值的结果将不同,给出了详细的描述。

Select next row

Update Value on

实际运行结果

sequential

each iteration

在某次循环中所有用户取值相同。 所有用户第一次循环取第一行值,第二次循环取第二行值

 

each occurrence

在某次循环中或者脚本中使用参数的地方,所有用户取值相同。 脚本中出现要使用参数的话,参数值就更新一次,循环一次值再更新一次。

 

once

在所有的循环中所有用户取值相同。 所有的用户所有的循环中,只用一个值(即参数中的第一行值)

random

each iteration

不同的用户,在不同的循环次数中,随机取值

 

each occurrence

不同的用户,脚本中出现要使用参数的话,随机取值一次,循环一次再随机取值一次

 

once

不同的用户,不管循环多少次,只随机取值一次。

unique

each iteration

若选择手工自配参数,那LR按照每用户几个参数先分配参数,然后进行循环。 若选择自动分配参数: Controller中edit schedule中run until comletion:按照循环次数先分配第一个VU(例如设置的循环次数为3,那分配给第一个VU 3个参数值),然后接下来的3个参数值分配给第二个VU,依次类推…... Controller中edit schedule中run for:若选择自动分配,LR将按照用户数均分参数,剩余的参数不使用。

 

each occurrence

只能手工分配用户,给每个用户分配好X个参数后,在脚本中有参数的地方,就使用已经分配好的X个参数。

 

once

按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数

LoadRunner参数更新方法和数据分配的更多相关文章

  1. jvm 虚拟机参数_方法区内存分配

    1.方法区( 永久区 ) 和堆一样,方法区是一块所有线程共享的区域,他用于保存系统类的信息.默认情况下 -XX:MaxPermSize 为 64m.如果系统运行时产生大量的类,就需要设置一个合适方法区 ...

  2. Loadrunner Vugen参数列表中数据分配方法及更新值的时间9种组合说明及验证

    作为刚开始学习Loadrunner的新人,Data Assignment Method以及Update Method在相互组合之后,LR如何进行取值让我很是头疼. 于是花了一个晚上的时间认真学习官方文 ...

  3. loadrunner参数化数据分配方法

    数据分配方法: 在“Select next row“列表中选择一个数据分配方法,以指示在Vuser脚本执行期间如何从参数文件中取得数据.选项包括”Sequential“.“Random”.“Uniqu ...

  4. 低功耗蓝牙BLE之连接事件、连接参数和更新方法

    转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...

  5. php+mysqli实现批量执行插入、更新及删除数据的方法

    本文实例讲述了php+mysqli实现批量执行插入.更新及删除数据的方法.分享给大家供大家参考.具体如下: mysqli批量执行插入/更新/删除数据,函数为 multi_query(). 下面的代码只 ...

  6. Vue.js的列表数据的同步更新方法

    这次给大家带来Vue.js的列表数据的同步更新方法,Vue.js列表数据同步更新方法的注意事项有哪些,下面就是实战案例,一起来看一下. 数组的 push(),pop(),shift(),unshift ...

  7. Java中类,对象,方法的内存分配

    Java中类,对象,方法的内存分配 以下针对引用数据类型: 在内存中,类是静态的概念,它存在于内存中的CodeSegment中. 当我们使用new关键字生成对象时,JVM根据类的代码,去堆内存中开辟一 ...

  8. C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处

    ​ 一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...

  9. Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

随机推荐

  1. 十、DG

    1.DG是dependency graph,我认为是依赖图,和DAG(有向无环图)的区别:DAG用来做场景管理,每个node代表的不是tranform就是shape,有父子关系. DG是代表了每个实体 ...

  2. Linux系统启动级别及顺序

    Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多 ...

  3. 再谈vertical-align与line-height

    每次遇到多个inline-block元素排列的怪异垂直位置的问题的时候都可以通过经验,设置vertical-align来解决,没深入研究过,现在需要分析总结下这个问题. 问题引出 有小鲜肉新做了个页面 ...

  4. C#中用RichTextBox实现图文混排和保存的例子

    using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; us ...

  5. 过渡transitioin

    一,什么是过渡(transition)? 1,transition 允许 CSS 元素的属性值在一定的时间区间内平滑地过渡. 2,可以在不使用 Flash 动画或 JavaScript 的情况下,在元 ...

  6. Ubuntu实现wifi热点

    系统:Ubuntu14.04 方法一: 打开网络连接,新建wifi,设置SSID和密码,完成设置后保存,再连接到隐藏的wifi,选择刚建立好的连接即可 优点:简单方便 缺点:建立的是Ad-hoc模式信 ...

  7. modelsim(3) - summary ,issue,tips

    1) the OEM of modelsim is 10 times slower than offical questa 2)how to the file full path in the mod ...

  8. 自己写的 限制文本框TEdit中只能输入数字

    procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char); begin , #]) then begin Key := #; end ...

  9. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

  10. DBTest/1.TestWrite fails: MDB_BAD_TXN: Transaction cannot recover - it must be aborted

    今天,终于把这个困扰我好久的问题解决了.心累之余,分享给大家. 主要问题是编译caffe的时候报错了: [----------] 5 tests from DBTest/1, where TypePa ...