Loadrunner手动关联详解

一、关联的含义:

关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。

二、关联的过程:

以登陆场景为例,客户端发出获得登录页面的请求,服务器端得到该请求后,返回登录页面,同时动态生成一个Session Id,当用户输入用户名密码,请求登录时,该Session Id同时被发送到服务器端,如果该Session Id在当前会话中有效,那么返回登录成功的页面,如果不正确则登录失败;在loadrunner第一次录制过程中会把这个值记录了下来,但回放时,客户端发出同样的请求,而服务器端再一次动态的生成了新的Session Id,与Loadrunner中录制的Session Id不匹配,此时客户端发出的请求就会失败,为了获得这个动态的Session Id就用到了关联。

三、关联的使用:

LR中对参数关联分两种:

1、自动关联,比如在录制好后的脚本中,按CTRL+F8,扫描关联,将扫描出来的内容关联即可;如果LR找不到关联时,就需要手动进行关联。

2、手工关联函数web_reg_save_param,运行脚本时,web_reg_save_param 函数将扫描所访问的后续 HTML 页。如果指定左边界和右边界,将搜索这些边界之间的文本。将匹配的内容保存在web_reg_save_param中定义的参数中。

实现过程如下:

web_reg_save_param("outFlightVal",

"LB=outboundFlight value=", "RB= checked >", LAST );

web_submit_form("reservations.pl",

"Snapshot=t4.inf",

ITEMDATA,

"Name=depart", "Value=London", ENDITEM,

"Name=departDate", "Value=11/20/2003", ENDITEM,

"Name=arrive", "Value=New York", ENDITEM,

"Name=returnDate", "Value=11/21/2003", ENDITEM,

"Name=numPassengers", "Value=1", ENDITEM,

"Name=roundtrip", "Value=<OFF>", ENDITEM,

"Name=seatPref", "Value=None", ENDITEM,

"Name=seatType", "Value=Coach", ENDITEM,

"Name=findFlights.x", "Value=83", ENDITEM,

"Name=findFlights.y", "Value=16", ENDITEM,

LAST );

web_submit_form("reservations.pl_2",

"Snapshot=t5.inf",

ITEMDATA,

"Name=outboundFlight", "Value={outFlightVal}", ENDITEM,

"Name=reserveFlights.x", "Value=92", ENDITEM,

"Name=reserveFlights.y", "Value=10", ENDITEM,

LAST );

定义了搜索范围LB左边界值和RB右边界值,将匹配的内容存放在outFlightVal中,在web_submit_form表单中进行引用。

实例说明:

以下为服务响应表单,对返回的动态值orderId进行关联:

<input type="hidden" id="orderId" name="orderId"

value="f28958249e141e62312d855ce73252d3"/>

实现如下:

web_reg_save_param("orderId",

"LB=name=\"orderId\" value=\"",

"RB=\"",

LAST);

在服务响应表单中找左边界是:name="orderId" value="

右边界是:"

将匹配到的结果赋给orderId。

之后就可以在后续流程中尽情的调用关联值了。

另外:web_reg_save_param要放在web_submit_form等提交表单函数之前。

web_reg_save_param必须在获取返回值的操作前面注册,在获取返回值的操作后面使用。

保存参数最大不能超过256字节,如果超过256字节请使用int web_set_max_html_param_len(const char *length )函数扩大参数保存范围。

例如:web_set_max_html_param_len ("1024"); //扩大参数最大保存范围为1024字节。

转载于:https://www.cnblogs.com/TestWorld/p/5379147.html

Loadrunner手动关联详解相关推荐

  1. Linux文件关联详解 linux 修改默认文件关联打开程序

    linux 修改默认文件关联打开程序 从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式 /.local/share/applications/mimeapps.lis ...

  2. LoadRunner关联详解

    关联是LoadRunner的精髓,可以说不会关联就不会性能测试,在网上有很多关于关联的文章和博客,但是发现很多文章把做关联时如何确定两份脚本中不同的值是否需要关联,以及关联函数插入的位置的确定都介绍的 ...

  3. mysql中的自关联详解_Laravel - MySQL数据库的使用详解6(Eloquent ORM用法3:模型关联、关联查询)...

    一.一对一关联 一对一关联是很基本的关联.假设一个 User 对应到一个 Phone,phones 表结构如下(通过 user_id 关联 user 表的主键): 1,定义一对一关联 (1)User ...

  4. 软件测试:Jmeter关联详解

    从上一步操作中获取需要的值,传递给下一步操作中进行引用,形成自动关联,而不是 每次操作都去手动修改关联的值.常见的场景有SessionID.Session Token值的获取. 正则表达式(Regul ...

  5. 关于Kafka 的 consumer 消费者手动提交详解

    前言 在上一篇 Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输.本篇则重点介绍kafka中的 consumer 消费者的讲解. 应用场景 在上一篇kaf ...

  6. php三表关联,详解Yii2 hasOne(), hasMany()实现三表关联的两种方法

    这篇文章主要介绍了Yii2 hasOne(), hasMany() 实现三表关联的方法(两种),非常不错,具有参考借鉴价值,需要的朋友可以参考下 背景: 现有 group (组)和 user (用户) ...

  7. mysql延迟关联为什么快_MySQL 覆盖索引与延迟关联详解

    本期来谈谈覆盖索引与延迟关联.在此之前,我们先简单建立一个订单表 Orders 用于举例说明.表中共包含 3 个字段: id int product_id name CREATE TABLE `ord ...

  8. 什么是亚马逊强关联,亚马逊账号关联详解

    对于跨境电商亚马逊来说,账号关联是一个恒久的问题,有许多卖家感叹,关联问题总是难以预防,只要不注意,亚马逊就是判定关联,甚至是很小的问题,亚马逊也判定关联封号了.究竟是怎么回事?为什么关联的因素那么多 ...

  9. Google Play 上架总结(二)Google账户关联详解

    近期,本人在 App 上架Google Play 过程中,频繁遇到账号被关联封禁,在踩过很多坑后,我觉得有必要总结一下,给其它朋友作为参考. 一.Google 账户关联是指什么? 账户关联是就是当Go ...

最新文章

  1. 2021年大数据Hadoop(三):Hadoop国内外应用
  2. 2019年全国各地房价排名50强
  3. HDU - 2222 Keywords Search(AC自动机)
  4. ROS与navigation教程——概述
  5. Java连接sap无明显报错信息,Kettle连接SAP报错问题
  6. Java运行时,指定程序文件的编码
  7. json 文件的装、配置、测试使用
  8. QString和std::string转换乱码与sqlite存储汉字乱码
  9. 分享不可不知的CAD经典技巧
  10. 微信公众平台接口调试工具json格式不对怎么搞_关于测试一个接口的面试题
  11. windows server 驱动精灵_win10网络重置后,无线网卡驱动消失的解决办法
  12. Python爬虫实战 | (10) 爬取猫眼电影《海王》影评并存入MySql数据库
  13. 捷径 播报日期、时间、星期
  14. 李忠汇编语言-初学-第九章详解
  15. 树莓派中的 IM 私有云支持多少并发?
  16. 深入浅出SSD 学习笔记整理——Johnathan Sung
  17. JBOSS4.0.2集群配置
  18. Barbalat引理与类李雅普诺夫引理,及它们在自适应控制系统设计的应用
  19. poi 替换word里的\n 变成 换行
  20. c语言文件不兼容,c)出错和链接问题:i386:x86-64输入文件架构,与i386输出不兼容...

热门文章

  1. 程序员面试题精选100题(61)-数对之差的最大值
  2. 区块链技术背后的运行逻辑
  3. 区块链以太坊五大开发工具,你喜欢哪个?
  4. 1012 The Best Rank
  5. 参加UI培训后可以找什么工作
  6. 网站ui的配色有哪些需要注意的?
  7. 学习Python编程开发可以从事的岗位有哪些?
  8. 06- web兼容性测试
  9. BZOJ2281:[SDOI2011]黑白棋(博弈论,组合数学,DP)
  10. Windows 7 开发新特性