• LoadRunner中多值关联的3种处理方式


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

  • 相关阅读:
    知识点:synchronized 原理分析
    知识点:spring 完全手册
    知识点:图说 Mysql 权限管理
    知识点:Mysql 基本用法之流程控制
    知识点:Mysql 基本用法之函数
    知识点:Mysql 基本用法之存储过程
    知识点:Mysql 基本用法之事务
    知识点:Mysql 基本用法之触发器
    知识点:Mysql 基本用法之视图
    知识点:MySQL表名不区分大小写的设置方法
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4900073.html
Copyright © 2020-2023  润新知