LoadRunner中参数化技术详解

原创 2012年03月21日 14:54:06

LoadRunner中参数化技术详解

LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。

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

【好处】

l  减少脚本的大小

l  提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。

【参数化步骤】

l  用参数替换Vuser脚本中的常量值

l  为参数设置属性和数据源

【操作步骤】

1. 在脚本中选择需要参数化的内容,单击鼠标右键,从弹出菜单中选择Replace with a parameter。


2. 在弹出的对话框中设置参数名称、参数类型。


3. 单击对话框中的Properties按钮,可以设置参数数据池中的内容以及参数的取值方式。


数据类型:

序号

参数类型

说明

1

Date/Time

在需要输入日期、时间的地方,可以用Date/Time来代替,可以选择日期格式,也可进行定制。

2

Group Name

该类型的参数用执行脚本的VU所属组的名称来替代。但是在VuGen中运行时,该值为None。

3

LoadGenerator Name

LoadRunner使用该虚拟用户所在的Load Generator机器名来代替参数。

4

Iteration Number

LoadRunner使用该测试脚本当前循环的次数来代替参数

5

Random Number

随机数,可以设置产生随机数的范围

6

Unique Number

唯一值来代替参数

7

Vuser ID

LoadRunner使用该虚拟用户的ID来代替参数值,该ID是由Controller来控制的,在VuGen中运行脚本时,该值为-1.

8

DataFile/Table

可以在属性设置中编辑文件,添加内容,也可以从数据库中提取数据。

9

UseDefinedFunction

从dll的简单函数中获取信息替代参数

 

【注意】对于参数类型为File/Table的数据文件:

l  在参数数据显示区中,最多只显示前100条数据,之后的不显示,但不影响正常取数据。

l  在记事本中编辑参数数据时,数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用。

对于参数类型为File/Table的参数的更新方式:

Update Value on

(更新方法)

Select next row

(数据分配方法)

Sequential顺序

Random随机

Unique唯一

Each Iteration(每次迭代)

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

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

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

Each Occurrence(每次出现)

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

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

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

Once(一次)

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

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

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

 

 

举例:

假设存在:
数据:A、B、C
虚拟用户:Vuser1、Vuser2、Vuser3
脚本中参数出现三次,脚本迭代三次
怎样取下一行数据?
Sequential:顺序,所有虚拟用户按照顺序读取数据表
Random:随机,所有虚拟用户随机形式读取数据表
Unique:唯一,所有虚拟用户每次各取一值(不重复)
什么时候访问数据表完成数据更新?
Each iteration:每次迭代以后
Each occurrence:每次出现参数
Once:每出现一个虚拟用户

实例:
顺序
Sequential + Each iteration
第一次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取A
第二次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取B
第三次迭代 无论参数任何时候出现Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次迭代 参数第一次出现 Vuser1、Vuser2、Vuser3 取A
第N次迭代 参数第二次出现 Vuser1、Vuser2、Vuser3 取B
第N次迭代 参数第三次出现 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
第N次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C

所有用户均取A
随机
Random + Each iteration
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每个Vuser重新随机抽取数据

Random + Each occurrence
第N次迭代 第一次遇到该参数 Vuser1、Vuser2、Vuser3在A、B、C中随机抽取一个
第N次迭代 第二次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
第N次迭代 第三次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
在N+1次迭代,每个Vuser继续保持每遇到一次参数就重新抽取一次数据
Random + Once
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每个Vuser不会重新抽取数据
唯一
注意:使用该Unique类型必须注意数据表有足够多的数。
比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。
因此以下例子在数据表中加入数据D、E、F、G、H、I。
Unique + Each iteration
第一次迭代 无论参数出现多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 无论参数出现多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 无论参数出现多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
无论进行多少次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C
数据D、E、F、G、H、I不取

LoadRunner总结(2)-参数化中的取值

前言:最近的工作要求就是给组里写一份LoadRunner知识点整理的文档,发出来共享,有错误的地方希望大家的指正 ——————————————————————————————————————————...

loadrunner之 学习五:参数化

学习五:参数化参数化分为几块内容逐渐学习:1.简单实现 在脚本中选中要参数化的内容,‘右键菜单’—‘Replace with a new parameter’,可以选择或新建一个parameter,我...

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

通过创建表方式和数据向导方式都可以成功创建数据文件,操作员可以随意选择自己习惯的方式。总之,能坚守数据文件放数据的原则,就不会出问题了。当回到“参数属性页面”中后,发现数据已经准备好了,而且原来灰色的...

Loadrunner生成随机字符

loadrunner 生成随机数的函数 使用C代码生成随机英文+数字 int itera_num,rand_num,i; char StrTable[]="abcdefghijklmnopq...
  • ghj1976
  • ghj1976
  • 2011年01月05日 09:44
  • 3141

loadrunner中参数化各种组合的举例

小强性能测试、python自动化测试介绍见http://xqtesting.sxl.cn 报名QQ:2083503238、1684129674、480934277(所有学员享受终生免费不限次数重...

Loadrunner 录制登录操作

脚本业务流:访问Discuz论坛首页——登录论坛——退出论坛。本次使用LoadRunner11版本。 一、录制脚本注意     1、确保Discuz论坛能在服务器运行正常。     2、录制前先...
  • he_jian1
  • he_jian1
  • 2014年12月17日 10:27
  • 14181

LoadRunner参数化设置策略

关于LoadRunner参数化的设置策略,在项目中我们会经常使用到,当然参数化在VUGen脚本中以参数的形式来代替数据,正确设置参数化策略,更能有效率地模拟运行脚本,下面是个人总结: 在参数化列表,...

LR使用web_add_cookie函数进行cookie模拟

1        为什么要使用cookie模拟         从日常项目测试过程中的问题说起。比如要进行论坛中的文件下载功能的测试。我们都知道只有登录用户才能进行下载操作,这样我们的测试过程可能就变...
  • rital
  • rital
  • 2009年05月17日 21:28
  • 5311

loadrunner之 学习五:参数化

学习五:参数化参数化分为几块内容逐渐学习:1.简单实现 在脚本中选中要参数化的内容,‘右键菜单’—‘Replace with a new parameter’,可以选择或新建一个parameter,我...

LoadRunner参数化功能详解

  • 2014年09月10日 11:41
  • 75KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LoadRunner中参数化技术详解
举报原因:
原因补充:

(最多只允许输入30个字)