参数化
当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。参数化是一种不错的方法。
参数类型
1.内部数据参数类型
-
DateTime:在需要输入日期/时间的地方,用DateTime类型来替代。其属性设置很简单,选择一种格式即可。也可以定制格式。
-
Group Name:Vuser 组名称。如果没有 Vuser 组(例如,从 VuGen 运行脚本时),则该值始终为无。
-
Load Generator Name:在实际运行中,LoadRunner使用该虚拟用户所在Load Generator的机器名来代替。
-
Iteration Number:在实际运行中,LoadRunner使用该 测试脚本当前循环的次数来代替。
-
Random Number:随机数。在属性设置中可以产生随机数的范围。
- Vuser ID:场景运行期间由 Controller 分配给 Vuser 的 ID 编号。从 VuGen 运行
- File:将参数保存在文件中。可以是本地的也可以是全局的。数据文件中的数据以表的格式存储。一个文件可以包含许多参数的值。每列保存用于一个参数的数据。分列符由分隔符标记,如逗号。使用 VuGen 新建文件或导入数据库文件。每个参数填充一个单元格值。
- Table:专用于通过填充表单元格值进行测试的应用程序。使用多行和多列作为参数值,类似于值数组。使用表类型时,可以用一个命令填充整个表。这在 SAPGUI Vuser 中很常见,其中 sapgui_table_fill_data 函数填充表单元格。
- XML:用作 XML 结构中包含的多值数据的占位符。可以使用 XML 类型的参数将整个结构替换为单个参数。
- 使用外部 DLL 函数生成的数据。用户定义的函数将参数替换为外部 DLL 函数返回的值。将用户定义的函数作为参数分配之前,应创建带有函数的外部库 (DLL)。
参数化——从数据库导入参数数据
a.选择要参数化的数据,右键,选择“Replace with a parameter”
b.点击“Parameter Properties…”按钮
c.连接数据库,从数据表中选择用户名。点击“Data Wizard”按钮。
d.进行下一步添加数据源后。
e.输入连接数据库的连接字符串以及数据检索语句后,点击“Finish”。(注意:此处若选择“机器数据源”,则应该将生成的Connection string中的“MODE=SHARE”删除。否则会报“Data Retriever failed to execute query.”错误,参数化失败。因为机器数据源是本机专用,不能共享。)
f.进一步设置参数化读取数据的方式;
注意: LoadRunner允许最大参数化用户数为100人,如需扩大参数量,可在安装路径下vugen.ini文件中修改:MaxVisibleLines=1000。(此为设置允许最大参数化用户数为1000人)
“Select next row”有几种选择:Sequential、Random、Unique。
“Update value on”有几种选择:Each iteration、Each occurrence、Once。
组合类型:
Sequential
- 与Each iteration组合:将为每次跌倒从数据表中提取下一个值。
- 与Each occurrence组合:将为每一次参数的出现从数据表格中提取下一个值,即使它在同一次迭代中。
- 与Once组合:第一次迭代中分配的值就会在每个Vuse接下来所有的迭代中使用。
Random
- 与Each iteration组合:将会为每一次迭代从数据表中提取一个新的随机值。
- 与Each occurrence组合:将会为每一次参数的出现从数据表中提取一个新的随机值,即使它在同一次迭代中。
- 与Once组合:第一次迭代中分配的随机值就会在改Vuser的所有迭代中使用。
Unique
- 与Each iteration组合:将会为每一次迭代从数据表格中提取下一个唯一值。
- 与Each occurrence组合:将会为每一次参数的出现从数据表格中提取一个新的一直,即使它在同一次迭代中。
- 与Once组合:第一次迭代中分配的唯一值就会在每个Vuser的所有接下来的迭代中使用。