loadrunner关联及web_reg_save_param方法浅析

一、什么是关联
关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。也是把脚本中某些写死的数据,转变成动态的数据。
什么内容需要关联:当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那么这个内容需要通过关联来询问服务器,获得该数据的变化结果。例如:
1.登录字符串。带有会话 ID 或时间戳等动态数据的登录字符串。
2.日期/时间戳。使用日期或时间戳或者其他用户凭据的任意字符串。
3.常见前缀。后跟字符串的常见前缀,如 SessionID 或 CustomerID
二、web_reg_save_param函数说明
语法:
int web_reg_save_param(const char *ParamName, , LAST);
参数说明:
· ParamName: 存放得到的动态内容的参数名称
· list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
o Notfound: 当在返回信息中找不到要找的内容时应该怎么处理
o Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。
o Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。
o LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。
o RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。
o RelFrameID: 相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。
o Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。
o ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。
o SaveOffset : 当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0。
o SaveLen :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
三、实例解析
例1:

如图所示,不输入查询条件,直接点击【查询】按钮。生成的数据提交脚本如下:

该value值为请求的数据总数,该值是动态变化的。为了正确的发送请求并得到正确的结果,需要对该值进行关联。
在Generation Log中搜索“totalItem”,如图所示,从而可以确定该value值的左右边界。

在脚本的请求前插入web_reg_save_param方法,并在提交数据请求的时候使用{count}来替代录制时实际的值。如下图:

打开扩展日志,运行脚本,可以看到正确的关联出了结果。

例2:
上面实例是使用web_reg_save_param的ORD=1,只是取第1次出现的左边界子串的匹配项为需要的内容,下面例子使用web_reg_save_param的ORD=ALL,将匹配到的内容保存到数组中。
根据消息列表中的记录数来进行关联(只是为了演示,分页不考虑),跟踪Generation Log可以看到,一条记录的内容会包含5列内容。如下图:

从上图中可以确定其左右边界,在脚本的请求前插入web_reg_save_param方法,并在提交数据请求的时候使用arrSize/5来替代录制时实际的值。如下图:

其中lr_paramarr_len方法用于取出数字长度,lr_paramarr_idx方法用于取数组指定下标的值。打开扩展日志,运行脚本,可以看到正确的关联出了结果。

专注于自动化、性能研究,博客为原创,转载请注明文章来源于:http://www.cnblogs.com/Automation_software/ 只求在IT界有一个清闲的世界让我静心的去专研,不求功名利禄,只为心中的那份成就感及自我成长、自我实现的快感。

LR关联及web_reg_save_param方法浅析相关推荐

  1. 基于多源信息的深度卷积神经网络预测CircRNA疾病关联的有效方法

    An Efficient Approach based on Multi-sources Information to Predict CircRNA-disease Associations Usi ...

  2. 从C++20 shared_ptr移除unique()方法浅析多线程同步

    @[TOC](从C++20 shared_ptr移除unique()方法浅析多线程同步) std::shared_ptr的unique()方法做了什么事情? unique()作为std::shared ...

  3. php关联图片,PHP关联链接添加方法

    PHP关联链接添加方法 为了优化内链,我们需要将内容添加上关键链接,那内容如果添加关联链接呢,怎么添加呢?下面小编带大家一起来看看详细内容,希望对大家有所帮助! 方法一:手动编辑添加 方法二:使用程序 ...

  4. c语言实验题——字符串排序,C语言中实现“三个数由小到大排序”的多种方法浅析...

    本文通过一个简单示例"三个数由小到大排序",将C语言中许多知识点融会贯通起来,这多种方法的实现可以将函数.宏.指针之间的区别和本质清晰的展示给读者,使本来很复杂难以理解的概念变得通 ...

  5. Delphi自编程序生成.dfm以及关联.pas的方法二

    Delphi自编程序生成.dfm以及关联.pas的方法二 前面介绍了方法一,现在介绍方法二 首先,编写一个工具,方便通过模板生成动态dfm文件,工具内容如下: 新建工程文件,form1上放置一个按钮B ...

  6. 可用于移动文件的是php,php移动文件_PHP移动文件或文件夹的方法浅析

    摘要 腾兴网为您分享:PHP移动文件或文件夹的方法浅析,桌面日历,知音漫客,雨课堂版,微拍等软件知识,以及6.80,桌面悬浮时钟,要塞十字军东征2,炉石盒子,朵拉购,cad等高线生成地形,pdf优化器 ...

  7. matlab广域保护分区算法,基于行波信息的广域后备保护关联域识别方法与流程

    本发明属于广域后备保护技术领域,具体涉及一种基于行波信息的广域后备保护关联域识别方法. 背景技术: 随着广域测量系统的发展,全网数据共享得以实现,在信息全景化的背景下,广域保护系统将电力系统继电保护由 ...

  8. LR关联知识点详解(精品总结)一定要看

    目录 前言 一.关联的含义 二.什么时候需要做关联 三.如何做关联 3.1 自动关联 3.2 手动关联 前言 带着问题看本文 为什么录制的脚本回放会出错?出错时排查思路 关联是什么为什么要做关联? 怎 ...

  9. lr:lr中错误解决方法19种

    一.Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set the ...

最新文章

  1. C++ dll 动态链接库的创建与调用
  2. python 倒计时_用Python帮你远离猝死悲剧
  3. 快速创建包快捷键大全_99个CAD插件大全,各种工具箱和超实用辅助插件,绘图从此不卡顿...
  4. Centos5.5上vsftpd安装使用
  5. DVWA--File Upload(文件上传)--四个等级
  6. android获取屏幕的分辨率方法
  7. 悼念512汶川大地震遇难同胞——选拔志愿者【博奕】
  8. 爬虫项目三:爬取选课信息
  9. this 自引用指针
  10. 塔菲克蓝牙适配器驱动_TAFIQ蓝牙适配器驱动下载
  11. 单包授权(spa)简介
  12. dreamweaver cs6 html教程,Dreamweaver cs6安装详细图文教程
  13. html 仿word页面,HTML+CSS入门 HTML页面仿WORD样式详解
  14. 如何解决Mac电脑浏览器网页自动放大的问题?
  15. 计算机考研专业难度排名,计算机考研难度排行榜!真真不容易
  16. Golang优雅之道
  17. 华为笔记本换装linux双系统,CentOS7使用(01)--华为笔记本Win10安装双系统
  18. 第二证券|北向资金全年净买入约900亿元 哪些行业和个股成“香饽饽”
  19. Pygame详解(十二):Surface 对象
  20. ofo无法退押金和余额

热门文章

  1. 华为CodeCraft2018 周进展
  2. 多种规格尺寸可定制羧基化聚苯乙烯-二乙烯基苯聚合物微球PS-DVB-COOH
  3. 深入浅出学Spring Data JPA toPredicate Predicate[] p = new Predicate[list.size()]; query.where(cb.and 201
  4. Gear 在 Polkadot 网络中的作用是什么?
  5. 江苏省计算机二级c语言考试范围,江苏省计算机二级C语言考试大纲.doc
  6. Unity添加GIF动画
  7. OLE时间和CTime时间相互转换
  8. 【京准小课堂】NTP网络校时服务器(时间同步系统)参数详解
  9. 基于APE物理引擎的管线容积率计算方法
  10. 大数据企业战略规划高级培训课程