zoukankan      html  css  js  c++  java
  • loadrunner必用函数web_reg_save_param获取多个符合边界值条件的使用方法

      在做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中了,怎么玩就随你啦!!!

  • 相关阅读:
    js鼠标事件/onclick/鼠标点击/光标移开
    搭建PHP环境
    SQL语法的一些整理
    DataTime格式大全啊!
    分页存储过程
    jquery中获取键盘按键
    中国历史朝代歌(完整)
    js键盘事件
    js鼠标、键盘事件实例代码
    《.NET Compact Framework移动开发指南》答疑一
  • 原文地址:https://www.cnblogs.com/lingfengblogs/p/4213907.html
Copyright © 2011-2022 走看看