使用LoadRunner性能测试工具录制业务流程时,VuGen 可以生成包含录制期间使用的实际值的脚本。如果在脚本的执行过程中,我们想要这些实际值变成其他的值去执行,就需要将录制值替换成参数。这个过程就叫做参数化脚本。

参数显示在 Vuser 脚本内部的参数分隔符之内。默认情况下,LoadRunner VuGen 使用“{”和“}”作为左右参数分隔符,我们也可以根据需要修改这些分隔符。此外,还可以修改脚本中的参数的背景颜色和轮廓颜色。

录制的脚本部分。

"value=UNIX"

“UNIX”之后的脚本部分已经替换为“Operating System”参数。

"value={Operating System}"

只能对函数中的参数进行参数化。不能对非函数参数的文本字符串进行参数化。此外,并非所有函数参数都可以参数化输入参数是指在运行脚本之前在设计阶段定义其值的参数。输出参数在设计阶段定义,但在LoadRunner测试执行期间获得值。输出参数通常用于 Web Service 调用。在设计阶段为脚本选择参数时要小心,确保该参数不是空的输出参数。

示例:

在操作 Web 应用程序时录制的 Vuser 脚本中,VuGen 生成以下语句,该语句在库的数据库中搜索标题UNIX:

web_submit_form("db2net.exe",

ITEMDATA,

"name=library.TITLE",

"value=UNIX",

ENDITEM,

"name=library.AUTHOR",

"value=",

ENDITEM,

"name=library.SUBJECT",

"value=",

ENDITEM,

LAST);

使用多个 Vuser 和多次迭代回放脚本时,您不想重复使用同一个值 UNIX,而是改为将该常量值替换为参数:

web_submit_form("db2net.exe",

ITEMDATA,

"name=library.TITLE",

"value={Book_Title}",

ENDITEM,

"name=library.AUTHOR",

"value=",

ENDITEM,

"name=library.SUBJECT",

"value=",

ENDITEM,

LAST);

当录制的LoadRunner脚本包含动态值(例如会话 ID)且无法成功回放时,使用关联。要解决此问题,需将动态值转换为变量,才能够成功回放脚本。

VTS ( Virtual Table Server) 是基于 Web 的应用程序,与 Vuser 脚本结合使用。VTS 提供了标准 VuGen 参数化的替代方式。

使用标准参数化时,将从专有值集为每个 Vuser 分配参数值,参数值在 Vuser 之间不共享。与此相反,VTS 可以从单个参数值集为多个 Vuser 分配参数值。这可以更准确地模拟真实用户环境。

LoadRunner脚本参数类型

1、文件类型参数

数据文件保存 Vuser 在脚本执行期间访问的数据。数据文件可以是本地或全局的。可以指定现有 ASCII 文件,使用 VuGen 新建文件,或将参数值从文件导入参数文件。如果有许多已知值要用于参数,数据文件很有用。

数据文件中的数据以表的格式存储。一个文件可以包含许多参数的值。每列保存用于一个参数的数据。分列符由分隔符标记,如逗号。

在下例中,数据文件包含 ID 号和名字:

id,first_name

120,John

121,Bill

122,Tom

注: 使用英语以外的语言时,请将参数文件保存为 UTF-8 文件。在“参数属性”窗口中,单击用记事本编辑。在记事本中,使用 UTF-8 类型编码将文件保存为文本文件。

2、表格类型参数

表参数类型专用于通过填充表单元格值进行测试的应用程序。文件类型为出现的每个参数填充一个单元格值,而表类型使用多行和多列作为参数值,类似于值数组。使用表类型时,可以用一个命令填充整个表。这在 SAP GUI Vuser 中很常见,其中 sapgui_table_fill_data 函数填充表单元格。

3、XML 类型参数

用作 XML 结构中包含的多值数据的占位符。可以使用 XML 类型的参数将整个结构替换为单个参数。例如,名为 Address 的 XML 参数可替换联系人姓名、地址、城市和邮政编码。将 XML 参数用于此类型数据可使数据输入更加清晰,并使 Vuser 脚本参数化更简洁。建议将 XML 参数与 Web Service 脚本一同使用,或用于 SOA 服务。

4、内部数据类型参数

Vuser 运行时会自动生成内部数据,如日期/时间、组名称、迭代编号、Load Generator 名称、随机数字、唯一编号和 Vuser ID。

自定义:您可以指定参数数据类型。

日期/时间:当前日期/时间。可在“参数属性”对话框中指定格式和偏移。

组名称:Vuser 组名称。如果没有 Vuser 组(例如,从 VuGen 运行脚本时),则该值始终为无。

迭代编号:当前迭代编号。

Load Generator 名称:Vuser 脚本的 Load Generator(运行 Vuser 的计算机)的名称。

随机数字:指定值范围内的随机数字。

唯一编号:为每个 Vuser 分配一组要使用的编号。指定起始值和块大小(为每个 Vuser 保留的唯一编号总数)。例如,如果您指定起始值为 1 且块大小为 100,则第一个 Vuser 可以使用编号 1 到 100,第二个 Vuser 可以使用编号 201 到 300,以此类推。

Vuser ID:场景运行期间由 Controller 分配给 Vuser 的 ID 编号。从 VuGen 运行脚本时,Vuser ID 始终为 -1。

注: 这不是 Vuser 窗口中显示的 ID 号,而是运行时生成的唯一 ID 号。

5、用户定义的函数参数

使用外部 DLL 函数生成的数据。用户定义的函数将参数替换为外部 DLL 函数返回的值。

将用户定义的函数作为参数分配之前,应创建带有函数的外部库 (DLL)。函数格式应如下所示:

__declspec(dllexport) char *

(char *, char *)

发送到此函数的参数均为 NULL。

创建库时,建议使用默认动态库路径。这样就不需要输入库的完整路径名,而只需要输入库名。VuGen 的 bin 文件夹是默认动态库路径。可以将库添加到此文件夹中。

下面是用户定义的函数示例:

__declspec(dllexport) char *UF_GetVersion(char *x1, char *x2) {return "Ver2.0";}

__declspec(dllexport) char *UF_GetCurrentTime(char *x1, char *x2) {

time_t x = tunefully); static char t[35]; strcpy(t, ctime( =;x)); t[24] = '\0'; return t;}

以上就是我们为您整理的LoadRunner脚本参数化及参数的类型,后面会继续为大家介绍LoadRunner性能测试工具的更多功能,点击我的主页可查看更多相关内容。

打开网易新闻 查看精彩图片