惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
F
Fortinet All Blogs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
V
Visual Studio Blog
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
L
LangChain Blog
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
P
Proofpoint News Feed
博客园_首页
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Check Point Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - pent

记一次有内存泄漏的性能测试 持续关注质量——产品属于每一个人 Bug bash、ZBB与软件质量 Jira升级小插曲 遭遇QTP描述性编程的对象识别错误 如何使用ping和tracert命令检测丢包 软件测试招聘之难【转】 何经华:我在职场30年 买房炒股是中国百姓最理性的选择 自动化测试十大要点[转] 质量名言 让你受益匪浅的IT培训语录 一千元的代价 如何使用Oracle sql loader批量导入数据 LoadRunner字符串与参数的操作及转换技巧 【推荐】-Web下的整体测试 QTP User-Defined Function 学习经验汇总 LoadRunner Settings for Web Timeout Error 薪资留人还是情感留人?
LoadRunner中多值关联的3种处理方式
pent · 2007-12-13 · via 博客园 - pent

需求:通过关联取得的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++;
 }