Loadrunner Http协议web_submit_data与web_custom_request区别

时间:2022-02-01 16:18:41


本文主要介绍Loadrunner Http协议中常用发送POST请求方法web_submit_dataweb_custom_request区别。

1. 实现的功能不同

web_submit_data只能发送POST类型的请求

web_custom_request方法可以发送POST和GET类型的请求

2. 请求数据提交方式不同

web_submit_data以"Name=属性名称,","Value=属性值" 方式提交数据,如:

"Name=username", "Value=admin", ENDITEM,

"Name=age", "Value=20", ENDITEM,

 

web_custom_request以"Body=属性名称=属性值&属性名称=属性值"方式提交数据,如:

"Body=username=admin&age=20"

 

示例如下:

1234567891011121314151617181920212223 web_submit_data("login",
        "Action=http://192.168.1.1:8080/login",        "Method=POST",        "RecContentType=text/html",        "Mode=HTML",        ITEMDATA,        "Name=username", "Value=12044″, ENDITEM,         "Name=password", "Value=", ENDITEM,         "Name=solutionName", "Value=eas", ENDITEM,         "Name=dbType", "Value=1", ENDITEM,          "Name=userAuthPattern", "Value=BaseDB", ENDITEM,         "Name=loginFlow", "Value=true", ENDITEM,         LAST);         web_custom_request("web_custom_request″,        "URL=http://192.168.1.1:8080/query",        "Method=POST",        "Resource=0″,        "RecContentType=text/javascript",        "Mode=HTML",        "EncType=application/x-www-form-urlencoded;charset=UTF-8″,        "Body=username=admin&age=20",        LAST);

通过观察,有两种情况下的POST请求会被LoadRunner录制为web_custom_request,

1.批量提交多条同属性名称的数据的请求

2.header属性x-requested-by值为XMLHttpRequest的POST请求

这两种实现请求的方法还有一个需要注意的地方就是web_custom_request中body中的属性值如果包含一些特殊字符,必须通过URL编码,否则Web服务器会返回500错误。

一个典型的例子是如果Body中包含ViewState,而ViewState中常含有"="之类的特殊字符,此时必须通过URL编码。

此时,我们可以使用LoadRuner中提供的编码转换函数web_convert_param("vs1″,"SourceEncoding=HTML","TargetEncoding=URL",LAST);




原文链接:http://lovesoo.org/loadrunner-web-submit-http-protocol-differences-between-data-and-web-custom-request.html