最近新接触一个项目,需要利用loadrunner做
压力测试,遇到一个比较棘手的问题,挣扎好几天后总算是解决了。
loadrunner做压力测试时,目前主要接触到的有get以及post请求。get请求很简单,就不用做更多赘述。说说post请求。
首先post请求,主要分header,body部分。那么问题来了。
header部分so easy,大家知道用这样的函数实现,如web_add_header("pid","1"),即可完成header的添加,具体添加哪些参数可参见具体接口文档。
那么body部分呢?
最参见的如json格式或xml格式的body内容,那么定义一个数组,如char body[1024]="Body=你的body内容".
以上的body,应该这样写:
web_custom_request("service",
url,//请求的url地址,这里把它进行了参数化
"Method=POST",
"Resource=0",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
body, //见上面的参数:postBody
LAST);
"你的body内容"可以是加密后的内容,未加密的内容,参数化参数。那么问题来了。如果body是一个文件?你应该怎么办?
其实也很easy。直接这样解决。
web_custom_request("service",
url,//参数化之后的url
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
"EncType={contype};charset=UTF-8",//很重要,一定要加,contype表示为请求格式
"BodyFilePath=YOUR FILEPATH", //见上面的参数:postBody
LAST);
eg:"BodyFilePath=c:\\yong.hu\\test.txt"
好吧。我主要想说的是,就是body为文件时,该怎么处理,只是学到一点。mark一下
PS:最重要的一点,可以通过loadrunner的录制功能来调试脚本。