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

LoadRunner中多值关联的3种处理方式的更多相关文章

  1. Android平台中实现对XML的三种解析方式

    本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...

  2. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  3. Hibernate中双向多对多的两种配置方式

    Hibernate中双向多对多的两种配置方式 1.建立多对多双向关联关系 package cn.happy.entitys; import java.util.HashSet; import java ...

  4. 转:Ajax中的get和post两种请求方式的异同

    1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...

  5. C++中的类继承(1) 三种继承方式

    继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一.简单的说,继承是指一个对象直接使用另一对象的属性和方法.继承呈现了 面向对象程序设 计的层次结构, 体现了 由简单到复杂的认知过程. ...

  6. MyBatis中主键回填的两种实现方式

    主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大 ...

  7. 在web项目中获取ApplicationContext上下文的3种主要方式及适用情况

    最近在做web项目,需要写一些工具方法,涉及到通过Java代码来获取spring中配置的bean,并对该bean进行操作的情形.而最关键的一步就是获取ApplicationContext,过程中纠结和 ...

  8. 六十四、SAP中的内表的9种定义方式

    一.内表一共有9种定义方式,如下: 二.执行如下 *&--------------------------------------------------------------------- ...

  9. C#中迭代器的概念和两种实现方式

    1.首先我们看下IEnumerable接口定义:   namespace System.Collections    {        // Summary:        //     Expose ...

随机推荐

  1. ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html

    中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NTE 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { " ...

  2. 如何用sqlyog实现远程连接mysql

    1,sqlyog客户端,用root用户远程链接mysql时,提示“访问被拒绝”,在网上搜索了一下原因. 原来是mysql没有授权其远程链接,所以你只能在客户端里面链接. 怎么解决呢? 原表数据 mys ...

  3. Matlab的曲线拟合工具箱CFtool使用简介

    http://phylab.fudan.edu.cn/doku.php?id=howtos:matlab:mt1-5 一. 单一变量的曲线逼近Matlab有一个功能强大的曲线拟合工具箱 cftool ...

  4. mapreduce job提交流程源码级分析(一)(原创)

    首先,在自己写的MR程序中通过org.apache.hadoop.mapreduce.Job来创建Job.配置好之后通过waitForCompletion方法来提交Job并打印MR执行过程的log.H ...

  5. iPod怎么下载歌曲?用iTunes传文件功能!

    昨儿一小美女拿我的手机听歌,说她不知道iPod怎么下载歌曲,因为还在上学家里不肯给买智能机,怕会影响学业.她的iPod shuffle刚买没多久还不会往里传歌曲,让我帮看看怎么整,心想她应该是没装iT ...

  6. The Bottom of a Graph(tarjan + 缩点)

    The Bottom of a Graph Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 9139   Accepted:  ...

  7. C语言内存对齐详解(2)

    接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...

  8. [BZOJ1171][BZOJ2892]大sz的游戏

    [BZOJ1171][BZOJ2892]大sz的游戏 试题描述 大sz最近在玩一个由星球大战改编的游戏.话说绝地武士当前共控制了N个星球.但是,西斯正在暗处悄悄地准备他们的复仇计划.绝地评议会也感觉到 ...

  9. ROS2.9.27架设网吧软路由实战篇之端口映射与回流

    转载:http://blog.csdn.net/zm2714/article/details/7924280 上一篇:ROS2.9.27架设网吧软路由实战篇之连通网络,主要讲述了网吧架设软路由ROS2 ...

  10. Android程序启动程序与页面的跳转

    package login; import com.example.login.R; import android.app.Activity; import android.content.Inten ...