zoukankan      html  css  js  c++  java
  • Loadrunner—关联知识点

    一、关联定义

    把脚本中某些写死的数据,转变成是撷取自服务器所发送的、动态的、每次都不一样的数据

    二、什么时候需要做关联

            要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程

            过程说明:

            客户端发出获得登录页面的请求,服务器端得到该请求后,返回登录页面,同时动态生成一个Session Id;

            当用户输入用户名密码,请求登录时,该Session Id同时被发送到服务器端;如果该Session Id在当前会话中有效,那么返回登录成功的页面,如果不正确则登录失败。

    应用场景:

            在第一次录制过程中LR把这个值记录了下来,写到了脚本中,但再次回放时,客户端发出同样的请求,而服务器端再一次动态的生成了Session Id,此时客户端浏览器再次输入用户名和密码时,请求登录,还是用旧的Session Id,发出的请求就是错误的,为了获得这个动态的session Id我们这里用到了关联。

    所以我们得出结论:

            当客户端的某个请求是随着服务器端的相应而动态变化的时候,我们就需要用到关联。(凡是脚本每次执行时都必须获得唯一标识的地方都需要关联。)

            当然我们在录制脚本时应该对测试的项目进行适当的了解,知道哪些请求需要用到服务器响应的动态值,如果我们不明确那些值需要做关联的话,我们也可以将脚本录制两遍,通过对比脚本的方法来查找需要关联的部分,但并不是说两次录制的所有不同点都需要关联,这个要具体情况具体分析

    三、关联有两种机制,自动关联和手动关联:
            首先谈谈自动关联

            VuGen内建自动关联引擎(Auto-correlation Eengine),提供Rules Correlation 和Correlation Studio 两种机制,可以自动找出需要关联的值,并且自动使用关联函数建立关联。

            1、“Rules Correlation”:在录制过程中VuGen 会根据使用者事先制订的规则,实时自动找出要关联的值。规则的来源有内建(Built-in Correlation)和使用者自定义(User-defined  Rules Correlation)关联规则两种。

           内建(Built-in Correlation):VuGen已经针对常用的一些应用系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeropleSoft、Siebel、SilverJRunner等,内建了一些关联规则。这些应用系统可能会有一种以上的关联规则。

           可以在单击“VuGen”启动>在菜单【Tool】>【Recording Options】>【HTTP Properties】>【Correlation】中启用关联规则,启动关联后,当录制这些应用系统脚本时,VuGen会在脚本中自动建立关联。也可以在【Recording Options】>【HTTP Properties】>【Correlation】检视每个关联规则的定义。

            除了内建的关联则之外,使用者也可以自定关联规则。可以在【Recording Options】>【HTTP Properties】>【Correlation】建立新的关联规则。

         在说说手动关联:

         捕获关联->将函数web_reg_save_param()加在产生动态值页面的步骤前->参数化变动的值->确定执行是否正确(Extended log勾选parameter substitution)

    详细具体的关联步骤可以,参考下面的链接

    http://blog.163.com/pengjintaogz@126/blog/static/1622990682014630105026532/

    操作步骤:

    1、捕获关联

    a、用windiff对比两个录制同样操作脚本(Tools->compare with Vuser),其中不同的地方可能就是需要关联的

    b、录制脚本后进行回放,在Tree View下对比录制和回放的信息,根据回放的错误提示信息进行判断需要关联的数据。

    2、确定动态数据的左右边界

    将Extended log中的Data returned by server选项勾上,之后回放脚本。根据变量名,在Replay log中找到关联的数据,进而确定左右边界。

    3、将关联函数添加到正确的位置

    在Replay log中找到关联的数据后,双击该数据,loadrunner会自动定位发送该数据的函数,将关联函数添加在该函数的上面

    4、把脚本中的动态数据用变量进行替代

    关联函数web_reg_save_param()的几个重要的参数

    LB:动态数据的左边界字符串,区分大小写

    RB:动态数据的右边界字符串,区分大小写

    ORD:表示提取第几次出现的左边界的数据,可选参数,默认为1

    SaveOffset:当找到符合的动态数据时,从第几个字符开始储存到参数中,可选参数,默认为0

    SaveLen:从Offset开始算起,到指定长度内的字符串,才储存到参数中,默认值是-1,表示储存到结尾的整个字符串

     左右边界设定时注意双引号等特殊字符需要使用反义字符,如“LB=DANGAN_ID”:””,匹配DANGAN_ID”:”

  • 相关阅读:
    Freemaker:操作集合
    win10:在关闭防火墙下如何屏蔽特定端口
    win10:家庭版开启组策略
    oracle:10g下载地址(转载)
    mybatis:延迟加载时不要在get/set方法上面添加final关键字(原创)
    mybatis:在springboot中的配置
    mybatis:访问静态变量或方法
    maven:手动安装JAR到本地仓库
    datatables日常使用集合
    python 装饰器
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7380433.html
Copyright © 2011-2022 走看看