29 08 2024

在 LoadRunner 中,web_submit_form 函数用于模拟表单提交操作,是测试 Web 应用程序中非常常用的函数之一。它允许你提交表单数据,并且可以自定义多种参数来模拟不同的表单提交场景。

基本语法

web_submit_form 函数的基本语法如下:

web_submit_form("FormName",
                "Type=HTML",
                "Action=http://example.com/submit",
                "Method=POST",
                "EncType=application/x-www-form-urlencoded",
                "RecContentType=text/html",
                "Referer=http://example.com/",
                "Snapshot=t1.inf",
                "Mode=HTML",
                "Input=test_input",
                "Value=value1",
                "Input=test_input2",
                "Value=value2",
                LAST)

参数说明

FormName:表单的名称,用于标识此次操作。

Type:表单类型,默认为 HTML。

Action:表单提交的 URL。

Method:提交方法,默认为 POST。

EncType:编码类型,默认为 application/x-www-form-urlencoded。

RecContentType:期望接收的内容类型,默认为 text/html。

Referer:请求的来源页面 URL。

Snapshot:快照文件名,用于保存请求的详细信息。

Mode:操作模式,默认为 HTML。

Input:表单输入字段的名称。

Value:表单输入字段的值。

示例

假设我们需要提交一个表单,其中包含两个输入字段 username 和 password,可以使用以下示例代码:

' 开始一个事务,记录响应时间
lr_start_transaction("Submit Form")

' 提交表单数据
web_submit_form("LoginForm",
                "Type=HTML",
                "Action=http://example.com/login",
                "Method=POST",
                "EncType=application/x-www-form-urlencoded",
                "RecContentType=text/html",
                "Referer=http://example.com/",
                "Snapshot=t1.inf",
                "Mode=HTML",
                "Input=username",
                "Value=admin",
                "Input=password",
                "Value=secret",
                LAST)

' 结束事务
lr_end_transaction("Submit Form", LR_PASS)

其他常见参数

TargetFrame:目标框架,如果表单位于特定的框架内,则需要指定框架名称。

Resource:资源编号,默认为 0,表示整个页面。

CheckPoint:检查点,用于验证表单提交后的响应。

Button:表单中的按钮名称,用于触发提交。

示例代码

下面是一个更详细的示例,展示了如何使用 web_submit_form 提交表单数据:

' 开始一个事务,记录响应时间
lr_start_transaction("Submit Login Form")

' 提交表单数据
web_submit_form("LoginForm",
                "Type=HTML",
                "Action=http://example.com/login",
                "Method=POST",
                "EncType=application/x-www-form-urlencoded",
                "RecContentType=text/html",
                "Referer=http://example.com/",
                "Snapshot=t1.inf",
                "Mode=HTML",
                "Input=username",
                "Value=admin",
                "Input=password",
                "Value=secret",
                "Button=submit",
                "Value=Login",
                LAST)

' 结束事务
lr_end_transaction("Submit Login Form", LR_PASS)

参数详解

FormName:表单的名称,用于标识此次操作。

Type:表单类型,默认为 HTML。

Action:表单提交的 URL。

Method:提交方法,默认为 POST。

EncType:编码类型,默认为 application/x-www-form-urlencoded。

RecContentType:期望接收的内容类型,默认为 text/html。

Referer:请求的来源页面 URL。

Snapshot:快照文件名,用于保存请求的详细信息。

Mode:操作模式,默认为 HTML。

Input:表单输入字段的名称。

Value:表单输入字段的值。

Button:表单中的按钮名称,用于触发提交。

注意事项

表单字段:确保提供的表单字段名称 Input 与实际表单中的字段名称一致。

表单值:确保提供的表单字段值 Value 正确无误。

快照文件:快照文件用于保存表单提交的详细信息,便于后续分析。

事务管理:使用 lr_start_transaction 和 lr_end_transaction 记录事务,便于性能测试分析。

通过这些步骤,你可以有效地使用 LoadRunner 的 web_submit_form 函数来模拟表单提交,这对于测试 Web 应用程序的功能和性能非常重要。

延伸阅读
    发表评论