zoukankan      html  css  js  c++  java
  • 性能测试基础---LR关联2

    ·LR中的关联函数详解。
    在LR中,用于关联的函数一般有以下四个:
    web_reg_save_param 是通过字符串查找的方式来查找获取数据。
    web_reg_save_param_ex 是通过字符串查找的方式来查找获取数据。新版本的函数。
    web_reg_save_param_regexp 是通过正则表达式的方式来查找获取数据。
    web_reg_save_param_xpath 是通过xpath的方式来查找获取数据。

    在LR中,web表示该类函数只能用于web类型的脚本。lr开头的就表示是lr内置函数,适用于所有协议。

    reg关键字表示该函数是注册型函数,要求放在请求之前。它是运行在其后第一个请求函数之后的。

    save_param表示该函数的功能和作用。

    ·web_reg_save_param_ex详解:
    ·Parameter Name:参数名称,由用户自己定义,有意义即可。

    ·Left Boundary:左边界,即要获取的动态数据的左边的字符串。

    ·Right Boundary:右边界,即要获取的动态数据的右边的字符串。

    PS:
    ·左右边界本身一般是具有唯一性的。。是指组合的唯一性。
    ·不论是字符串查找还是正则查找,一般采取的都是非贪婪的模式。即采取的是最小匹配原则。
    ·示例:假设服务器响应回的字符串是“a1ba2ba3ba4b”
    设置左边界LB=a,右边界RB=b,则最终符合条件的数据是:1、2、3、4这四个字符串。而不会是"1ba2"这样的字符串。

    ·如果左右边界中出现双引号,则需要进行转义操作。

    ·Ordinal:又叫ORD属性,老版本叫instance,该选项可以填的是正整数N 或者 字符串 “all”.
    ·正整数N:表示将第N次符合条件的数据存入参数。默认值为1.

    ·all:则表示将所有符合条件的数据以类似于数组的方式存入参数数组(以参数名命名的数组)。
    效果为:ParamName_1=Value1,ParamName_2=Value2,......,ParamName_N=ValueN
    与之同时,会生成一个参数叫ParamName_count=N。

    通常来说,当ordinal=all时,就意味着我们需要随机或者遍历数据。
    ·随机:
    一般来说,会用到函数lr_paramarr_random(),核心代码如下:
    lr_save_string(lr_paramarr_random("outboundFlight"),"myflight");//表示从数组outboundFlight中随机获取一个值,并且赋值给参数myflight。

    ·遍历:
    核心代码如下:
    int i,num;
    关联函数;
    请求;
    num=atoi(lr_eval_string("{outboundFlight_count}"));

    for(i=1;i<=num;i++){
    //表示把数组outboundFlight下标为i的元素的值提取,并且保存赋值到参数myflight。
    lr_save_string(lr_paramarr_idx("outboundFlight",i),"myflight");

    需要遍历使用数据的请求(......,value="{myflight}",......)

    }


    ·offset:偏移量。是指实际存入参数的数据将从左边界向右偏移N个字符开始计算。
    ·length:长度,是指实际存入参数的数据的长度。


    ·在LR中,变量VS参数

    ·相同点:
    都可以用来存储值,并且被调用。

    ·不同点:
    ·变量默认是局部变量,只在当前action有效。
    参数是从起效的时候,在任何位置都有效的。

    ·定义问题:
    变量必须定义才能使用。而且必须在所有的代码之前进行定义。
    参赛不需要定义。

    ·赋值问题:
    一般来说,参数赋值通常使用的是函数lr_save_string()这一系列的函数。

    变量赋值,一般使用的是sprintf。


    ·调用问题:
    变量一般来说要求在双引号之外调用,直接使用名称。
    参数要求在双引号内调用,并且使用参数调用的格式。

    一般来说,我们可以通过两个函数实现变量和参数状态的转换。
    lr_eval_string("{参数名}") 表示将参数的值读取出来,整个函数等同于一个变量

    lr_save_string(变量,"参数名") 表示将指定的变量赋值给指定的参数,从而实现变量到参数的转换。

  • 相关阅读:
    邁向IT專家成功之路的三十則鐵律 鐵律八:IT人學習之道-基礎功
    邁向IT專家成功之路的三十則鐵律 鐵律七:IT人效率之道-時間管理
    邁向IT專家成功之路的三十則鐵律 鐵律六:求全求盈之道-佈施
    邁向IT專家成功之路的三十則鐵律 鐵律五:IT人穩定發展之道-去除惡習
    邁向IT專家成功之路的三十則鐵律 鐵律四:IT人快速成長之道-複製
    邁向IT專家成功之路的三十則鐵律 鐵律三:IT人長久之道–站對邊
    巧架个人BT服务器
    定制属于自己的自动化安装的linux系统镜像
    如何从Win7中提取制作Windows PE3.0
    将现有Ubuntu系统做成LiveCD
  • 原文地址:https://www.cnblogs.com/wendy-0901/p/11724711.html
Copyright © 2011-2022 走看看