51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1652|回复: 0
打印 上一主题 下一主题

[原创] LoadRunner中多值关联的3种处理方式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-7 10:53:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需求:通过关联取得的ParamName参数可能存在多个值,需要对每个ParamName参数值进行处理
脚本:可通过3种不同的实现方式,将每个参数值作为HTTP请求内容发出

web_reg_save_param("ParamName",
  "LB/IC="id":"OutputParameter.",
  "RB/IC=","",
  "Ord=All",
  "Search=Body",
  "RelFrameId=1",
  LAST);
  
...


Paramcount=atoi(lr_eval_string("{ParamName_count}")); //参数个数
i=1;
while (i<=Paramcount) {
  sprintf(str,"{ParamName_%d}",i);        //生成ParamName_i

//方法一:将变量转为参数,直接在请求中使用参数
lr_save_string(lr_eval_string(str),"Value"); //对每个参数进行处理
web_submit_data("FreeQueryServlet_24",
  "Action=http://datasvr01:8081/freequery/FreeQueryServlet",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
  "Snapshot=t27.inf",
  "Mode=HTTP",
  ITEMDATA,
  "Name=className", "Value=ClientReportService", ENDITEM,
  "Name=methodName", "Value=addNewParam", ENDITEM,
  "Name=params", "Value=["{ClientID}","OutputParameter.{Value}",""]", ENDITEM,
  LAST);



//方法二:通过strcpy、strcat方式组织字符串,通过变量发送请求
strcpy(s,"Value=["{ClientID}","OutputParameter.");
  strcat(s,str);
strcat(s,"",""]");
web_submit_data("FreeQueryServlet_24",
  "Action=http://datasvr01:8081/freequery/FreeQueryServlet",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
  "Snapshot=t27.inf",
  "Mode=HTTP",
  ITEMDATA,
  "Name=className", "Value=ClientReportService", ENDITEM,
  "Name=methodName", "Value=addNewParam", ENDITEM,
  "Name=params", s, ENDITEM,
  LAST);
  

//方法三:通过sprintf格式化输出生成需要的字符串,通过变量发送请求
sprintf(s,"Value=["{ClientID}","OutputParameter.%s",""]",str);
web_submit_data("FreeQueryServlet_24",
  "Action=http://datasvr01:8081/freequery/FreeQueryServlet",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
  "Snapshot=t27.inf",
  "Mode=HTTP",
  ITEMDATA,
  "Name=className", "Value=ClientReportService", ENDITEM,
  "Name=methodName", "Value=addNewParam", ENDITEM,
  "Name=params", s, ENDITEM,
  LAST);

i++;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 17:25 , Processed in 0.074320 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表