用loadrunner需要把http请求里的某个参数按照某种规律在每一次循环中替换掉。也就是每一次取一个新的值组成新的http请求,尝试了字符串拼接的方法失败后采用了参数化的方式,终于搞定了,直接上代码。
下面的程序是用param6 替换请求中的param6值,并发送请求,成功则返回1.
int httprequest(int param6){
char param6c[20]=""; //初始化一个空字符串
itoa(param6,param6c,10); //将传进来的int值转化为字符串,存储在上面定义的字符串中
lr_save_string(param6c,"p6"); //将字符串存储到一个参数中,等待后面使用时用{}调用即可。
web_custom_request("TagBean.search.dwr",
"URL=http://www.lofter.com/dwr/call/plaincall/TagBean.search.dwr",
"Method=POST",
"Resource=0",
"RecContentType=text/javascript",
"Referer=http://www.lofter.com/tag/%E8%89%BA%E6%9C%AF?first=3fbfc0_175c5d6",
"Snapshot=t164.inf",
"Mode=HTTP",
"EncType=text/plain",
"Body=callCount=1\n"
"scriptSessionId=${scriptSessionId}187\n"
"httpSessionId=\n"
"c0-scriptName=TagBean\n"
"c0-methodName=search\n"
"c0-id=0\n"
"c0-param0=string:%E8%89%BA%E6%9C%AF\n"
"c0-param1=number:0\n"
"c0-param2=string:3fbfc0_175c5d6\n"
"c0-param3=string:excellent\n"
"c0-param4=boolean:false\n"
"c0-param5=number:0\n"
"c0-param6=number:{p6}\n" //使用{}调用参数
"c0-param7=number:0\n"
"c0-param8=number:0\n"
"batchId=107797",
LAST
);
return 1;
}