在录制程序运行的过程中,Vugen(脚本生成器)自动生成了脚本以及录制过程中实际用到的数据。在这个时候,脚本和数据是混在一起的。
在登录操作中,很明显xpj与123123是填入的数据,如果Controller里以多用户方式运行这个脚本的时候,每个虚拟用户都会以同样的用户名"robin"、密码"123123"去登录系统。这样做性能测试,不太眼睛,服务器大多会采用缓存功能提高系统性能,以同样的用户名/密码登录系统的缓存命中率会很高,也要快得多。
因此,LoadRunner支持参数变量。
参数化后,用户名xpj被一个参数{username}替换,密码被另外一个参数{password}替换。其中{username}和{password}分别和参数文件关联,在脚本运行时,用户名和密码的值从参数{username}和{password}中获得。
参数化是我们学习LoadRunner中经常用到的功能。除了实现数据驱动之外,参数化脚本还有以下两个优点:
- 可以使脚本的长度变短;
- 可以增强脚本的可读性和可维护性;
实际上,参数化的过程如下:
- 在脚本中用参数取代常量值;
- 设置参数的属性以及数据源;
LoadRunner对脚本中参数个数没有限制,我们可以在一个脚本中创建任意多个参数,脚本中-选择数据-右键-replace with parameter
选择参数类型:
- Parameter name:输入参数名称;
- Parameter type:选择参数类型;
参数类型说明
- Data Files:这是我们最长使用的一种参数类型,它的数据存在于文件中。该文件的内容可以手工添加,也可以利用LoadRunner的Data Wizard从数据库中导出。
- User-Defined Functions:调用外部DLL函数生成的数据
- Internal Data:虚拟用户内部产生的数据。Internal Data包括以下几种类型:
- Date/Time:用当前的日期/事件替换参数。要指定一个Date/Time的格式,菜单中可以选择格式。格式要与脚本中录制的格式保持一致。
- Group Name:用虚拟用户组名称替换参数。在创建scenario的时候,你可以指定虚拟用户组的名称。
- Load Generator Name:用脚本负载生成器的名称替换参数。负载生成器是虚拟用户在运行的计算机。
- Iteration Number:用当前的迭代数目替换参数。
- Random Number:用一个随机数替换参数。通过指定最大值和最小值来设置随机数的范围。
- Unique Number:用一个唯一的数字来替换参数。你可以指定一个起始数字和一个块的大小。
- VuserID:用分配给虚拟用户的ID替换参数,ID是由LoadRunner的控制器在scenario运行时生成的。如果从脚本生成器运行脚本的话,虚拟用户的ID总是-1.
如果想用以前定义过的参数来代替常量字符串的话,选中该字符串,单击右键,然后选择“Use existing parameters”,从弹出的子菜单中选择参数,或者用"Select from Parameter List"来打开参数列表对话框。
数据文件:
数据文件中的数据是以表的形式存储的,作为参数的数据源必须指定:文件的名称和位置、包含数据的列、文件格式、包括列的分隔符、更新方法
file path:文件位置,文件的后缀必须是.dat
add column: 添加新列
edit with notepad:使用记事本编辑
select column:选择使用的列,可以指定列名或列号
column delimiter:分隔符
first data line :使用的第一行数据,列标题是0行
select next row:按什么规则来取值 :sequential random unique / same line as ...
update value on :什么时候取值
each iteration:每次迭代;each occureence:每次读参数;once:只取一次
when out of values :超出范围 (unique时使用)
allocate vuser values in the controller :在控制器中分配值,unique时使用
从数据库中导入参数数据
方式:1 使用microsoft query 需要安装 ms query
2 指定数据库连接字符串和sql语句
点create选择数据源-或新建数据源-然后 指定保存文件路径及名称,后缀为.dsn
在弹出数据库连接信息中输入用户名、密码
在sql框中输入sql语句-完成