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”:”
Loadrunner—关联知识点的更多相关文章
- Loadrunner关联取参及设置检查点
Loadrunner关联取参及设置检查点: 获取post的响应值当作参数存储,要在此post请求之上添加 web_reg_save_param("sign", "LB=m ...
- Loadrunner 关联 web_custom_request综合实例
Loadrunner 关联 web_custom_request综合实例 Loadrunner 关联web_custom_request,针对自带的订票系统的一个综合实例,相信看了本文大家对学习loa ...
- loadrunner 关联匹配多个值
loadrunner 关联获取从服务器返回相关值,如果需要把所有匹配的值都获取并且把这些值打印出来,怎么做呢? 1.首先要把把所有的匹配值都保存起来,需要在关联函数里面多传递一个参数:"Or ...
- 品味性能之道<八>:Loadrunner关联技巧与字符处理
一.概述 Loadrunner作为HP出品的性能测试工具,拥有太多奇妙魔法甜点供予性能测试人员享用,其中吃起来比较有嚼劲的那就是关联了.当然在关联之后我们还需要一些简单的字符处理,用以生成 ...
- LoadRunner关联通用函数的学习
LoadRunner关联通用函数的学习 写这篇文章的时候,我先声明一下,本BLOG中的文章如果没有写出是转贴的一般就是本人原创. Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符 ...
- loadrunner关联——对服务器返回的数据选择性提交
在跟进项目的过程中,才体会到自己之前闷头看书再写小小的测试程序验证的学习方式很没有效率,知道动态关联,却也只是会参数化式的动态关联,这种关联是我们预先知道要提交的数据而进行的关联:更高一级的可能就是使 ...
- LoadRunner关联之学习笔记
去银行办业务,进银行的门,大堂经理给你一张业务号,拿着这张业务号,去柜台办理业务.--录制下来 第二天又去银行,还是拿着这张业务号,去柜台办理业务,柜员就不理你了,因为这张业务号是昨天的.--回放过程 ...
- Loadrunner关联
学习LoadRunner之关联(二) Lr学习之关联-随机删除一行数据和全部删除数据 录制一个系统,我录制的是一个交通方面的系统,登陆到系统里面,查询车牌颜色,将其中一条数据删除. "Nam ...
- loadrunner关联数组后拼凑字符串
loadrunner拼接关联数组的元素 int arrSize=0; int index=1; int len=0; char arryStartString[1024]=""; ...
随机推荐
- 洛谷P4178 Tree (点分治)
题目描述 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K 输入输出格式 输入格式: N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 接下 ...
- javascript高级程序设计读书笔记----严格模式
ECMAScript5最早引入“严格模式". 使用 "use strict"开启严格模式 function test(){ "use strict"; ...
- pycharm注册
1.官方下载专业版,并安装 http://www.jetbrains.com/pycharm/download/#section=windows 2.下载crack激活包 http://idea.la ...
- Dapper扩展Dapper.Common框架 Linq To Sql 底层源码.net ORM框架
源代码:https://github.com/1448376744/Dapper.CommonNUGET: Dapper.CommonQQ群:642555086 一.基本结构,此处可用委托,或动态代理 ...
- bitnami openedx安装的各种坑及痛苦经历
那天在华为网站上学习,看见他们的培训系统挺不错的,看到下边写着openedx,百度了一下是个开源软件,挺流行的,在这之前对于openedx没有任何了解,然后开始了一周多的痛苦经历. 首先在opened ...
- OLEDB导入导出Excel
using System;using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System ...
- 爬虫开发python工具包介绍 (2)
本文来自网易云社区 作者:王涛 可选参数我们一一介绍一下: 参数 释义 示例 params 生成url中?号后面的查询Key=value 示例1: >>>payload = {'ke ...
- coderfoces D. Gourmet choice
D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes 题目链接: https: ...
- jquery鼠标经过水平180度翻转效果
Html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/htm ...
- 【CF453D】 Little Pony and Elements of Harmony(FWT)
题面 传送门 设\(a\)的递推公式为 \[a_i=\sum_ja_jb[count(i\oplus j)]\] 其中\(\oplus\)为异或,\(count(i)\)表示\(i\)的二进制中\(1 ...