现在的位置: 首页 > 软件测试 > 测试工具 > 正文

Loadrunner Http协议web_submit_data与web_custom_request区别

2015年11月23日 测试工具 ⁄ 共 1346字 ⁄ 字号 评论关闭 ⁄ 阅读 580 次

本文主要介绍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"

 

示例如下:

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);

抱歉!评论已关闭.