在做loadrunner性能脚本开发时,常常碰见一个需求:符合web_reg_save_param函数中定义的左右边界值的值有多个,而我们的常规写法默认返回的是符合条件的第一个,而有时我们却需要使用后面的值,下面来进行介绍,如何获取多个,并且如何使用这些获取到的值。

  首先介绍一般我们经常使用的写法:

    web_reg_save_param("paramName",

                "LB=左边界",

                "RB=右边界",

                LAST);

  这种写法保存到paramName中的值为返回符合条件的第一个值。

  那么如果我们要获取到所有符合条件的值,就应该在条件中加入ORD=ALL这样的一个请求参数。写法如下:

    web_reg_save_param("paramName",

                "LB=左边界",

                "RB=右边界",

                "ORD=ALL",//来指定获取所有符合条件的值。

                "Savelen=50",//这个参数用来限制获取字符的长度。这个部分可以不加。
//如果加了,那么就不进行捕捉检查了,所以会导致长度写少了就会进行截取,有可能导致数据丢失。                 LAST);

  如果我们有4个符合条件的值,那么程序运行后,在log中打印出来的结果是:

        Notify: Saving Parameter "paramName_1 = aaa"

        Notify: Saving Parameter "paramName_2 = bbb"

        Notify: Saving Parameter "paramName_3 = ccc"

        Notify: Saving Parameter "paramName_4 = ddd"

        Notify: Saving Parameter "paramName_count = 4"

  那么我们如果拿到这些值并且使用它们呢,其实很简单,具体实现如下:

    由于我们已经知道了参数的名称,那么可以先简单打印一下验证是否正确:

lr_output_message("%s",lr_eval_string("{paramName_2}"));

接下来,我们可以进行循环取出所有:

            int mark=1;//数组角标标记。
char markVar[10];//拼接数组变量key值
char markValue[10];//存储数据变量key //关联函数
    web_reg_save_param("paramName",                 "LB=左边界",                 "RB=右边界",                 "ORD=ALL",//来指定获取所有符合条件的值。                 LAST); //这里是你的请求函数
web_submit_data //循环取出所有值
for(;mark<=atoi(lr_eval_string("{paramName_count}"));mark++){ sprintf(markVar, "{paramName_%d}",mark);
//将mark变量拼接到markVar中, sprintf(markValue, "Value=%s", lr_eval_string(markVar));
//取出markVar中的值,存储到markValue中,计算后markValue的值就是被关联后要取出来的值
          //值已经取到,你想要做啥,在这里就可以随便做啦!!这里打印一下!
lr_message("%s", markValue); }

值已经在markValue中了,怎么玩就随你啦!!!

最新文章

  1. hibernate -- HQL语句总结
  2. 【转载】Tomcat崩溃事件
  3. python在windows平台的pip安装package时的编译问题
  4. SVN的学习和安装
  5. CSS常用的属性命名
  6. Leetcode-Read N Characters Given Read4 II
  7. 学习hamcrest和mockito时的总结和demo
  8. linux 搭建lamp环境
  9. how to install git 1.8 rpm
  10. Linux网络基础配置
  11. POJ 2991 Crane(线段树+计算几何)
  12. [Unity]背包效果-使用NGUI实现物品的拖拽效果Drag
  13. Linux中的各种软件安装
  14. iOS - XMPP Openfire 服务器的搭建
  15. 做为一个Python程序员的基本素养
  16. BZOJ 4318 OSU!(概率DP)
  17. GCD使用:让程序在后台较长久的运行(UIBackgroundTaskIdentifier )
  18. 统计方形(NOIP1997)
  19. Error:java: 无效的源发行版: 1.8
  20. JS密码校验规则前台验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)

热门文章

  1. mfc配置GDI+有106个错误
  2. 将node-expat扩展编译至node.exe中
  3. Linux NetHogs监控工具介绍(转)
  4. Preemption Context Switches 和 Synchronization Context Switches
  5. Net 项目代码风格
  6. Unity最优化摘要
  7. hdu 1426 Sudoku Killer ( Dancing Link 精确覆盖 )
  8. maven 编
  9. gets、scanf和getchar之间的区别
  10. 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式