- 浏览: 425190 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
iwwenbo:
别逗好不好
Popup.js 弹出窗口 -
bugnuke:
尼玛 跑不了。。。
Popup.js 弹出窗口 -
tangzhifei:
创建Subversion授权文件放哪目录下?前面我的都对了,到 ...
Trac系列(8):windows下Apache+SVN+Trac安装及配置(一) -
zoutuo1986:
正在安装,确实很慢,一定要选择网速快的时候安装,
eclipse 插件springide安装 -
johnsonyang:
this.jmsTemplate.send(
...
spring,weblogic配置jms
Loadrunner关联(一)什么时候需要做关联
1.关联的含义
关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。
其实关联也属于一同特殊的参数化,只是与一般的参数化有些不同
一般的参数化的参数来源于一个文件、一个定义的table、通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的、动态的值
2.什么时候需要做关联
要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程
拿一个登录的过程我们来看一下:
过程说明:
客户端发出获得登录页面的请求
服务器端得到该请求后,返回登录页面,同时动态生成一个Session Id
当用户输入用户名密码,请求登录时,该Session Id同时被发送到服务器端
如果该Session Id在当前会话中有效,那么返回登录成功的页面,如果不正确则登录失败
在第一次录制过程中loadrunner把这个值记录了下来,写到了脚本中,但再次回放时,客户端发出同样的请求,而服务器端再一次动态的生成了Session Id,此时客户端发出的请求就是错误的,为了获得这个动态的Session Id我们这里用到了关联。
所以我们得出结论:
当客户端的某个请求是随着服务器端的相应而动态变化的时候,我们就需要用到关联
当然我们在录制脚本时应该对测试的项目进行适当的了解,知道哪些请求需要用到服务器响应的动态值,如果我们不明确那些值需要做关联的话,我们也可以将脚本录制两遍,通过对比脚本的方法来查找需要关联的部分,但并不是说两次录制的所有不同点都需要关联,这个要具体情况具体分析
关于自动关联和手动关联我会在下篇日志中描述
Loadrunner关联(二)自动关联
上一篇日志介绍了关联的含义及什么样的情况下需要用到关联
这次我们介绍一下loadrunner中的自动关联
自动关联包含两种机制:
一种是loadrunner通过对比录制和回放时服务器响应的不同,而提示用户是否进行关联,用户可自己创建关联规则,这个功能可以方便的使我们获得需要关联的部分,但同时也存在一定的问题,如:自动关联所检测到的关联点不一定真的需要进行关联,这要我们更具实际情况进行判断;有些需要关联的动态数据自动关联无法找到,这是就需要做手动关联
另一种是loadrunner自带的自动关联规则,在录制脚本时,会根据这些规则自动创建关联
自动关联的步骤如下:
1.开启自动关联选项
刚才提到的两种关联机制,如果用户想使用loadrunner自带的关联规则创建关联,那么需要在【Recording Options】>【Internet Protocol】>【Correlation】中启用关联规则,选中“Enable correlation during recording”,当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。也可以在【Recording Options】>【Internet Protocol】>【Correlation】中添加关联规则,达到自动关联的目的。
如果需要在回放脚本时,loadrunner自动检测需要关联的部分,那么需要在【Tools】>【general options】>【Correlation】中选中“save correlation information during replay”和“show scan for correlations popup after replay of vuser”,当回放玩脚本后,会弹出Scan action for correlation窗口,进行关联点的搜索
2.录制脚本
录制脚本的过程在这里就不多说了
3.回放脚本
如果录制的脚本存在需要做关联的部分,那么在回放脚本时会出现错误
4.系统自动弹出检测关联对话框,或手动启动关联检测对话框
如果选择了【Tools】>【general options】>【Correlation】中的“save correlation information during replay”和“show scan for correlations popup after replay of vuser”,那么在回放脚本后会自动弹出“Scan action for correlation”窗口,点击“yes”进行自动查找
如果没有选择上述设置,那么也可以按CTRL+F8启动关联自动搜索
5.查看系统检测出的关联点进行关联设置
如果在录制和回放中存在差异,loadrunner会在“Correlation Results”中列出需要做关联的内容,用鼠标点击一条需要做关联的内容,点击“Create Rule”,系统会显示获得当前数据的规则,点击“yes”,完成规则的创建,同时查看脚本中增加了一个web_reg_save_param函数
也可以点击【Correlate】按钮创建关联,一笔一笔做,或是按下【Correlate All】让VuGen一次就对所有的数据建立关联。
注意:由于Correlation Studio会找出所有有变动的数据,但是并不是所有的数据都需要做关联,所以不建议您直接用【Correlate All】。
6.回放脚本检查关联的正确性
创建好关联后,回放脚本检查关联的正确性
Loadrunner关联(三)手动关联
原创文章,转载注明出处:http://www.51testing.com/?41972
手动关联的过程大致如下:
第一步:录制测试脚本,录制二遍
第二步:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联
第三步:确定插入关联的位置
G$eAB0L216511第四步:在VIEW TREE中使用web_reg_save_param函数手动建立关联 51Testing软件测试网0CMU {K8n
第五步:将脚本中有用到关联的数据,用参数代替
第六步:验证关联的正确性
下面详细介绍:
第一步:
录制测试脚本,录制二遍
这一步就不用多说了,相同的操作,录制两份,分别保存
第二步:
使用WinDiff工具协助找出需要关联的数据
6Jihe!LY*V.X2165111. 在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份脚本。 51Testing软件测试网7m\ gr/Q\ h#H;o
2. 接着WinDiff会开启,同时显示二份脚本,并显示有差异的地方。WinDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。
查看二份脚本中差异的部份,每一个差异都可能是需要做关联的地方。
注意:lr_thik_time部分的差异可以忽略
找到不同的部分后,复制,然后打开Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息
如果出现在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$这个部分,那证明是客户端发出的请求,这里是不需要做关联的
一般做的关联都是出现在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。
在找到这个信息后,需要记录如下信息:
a.记录这个不同数据之前的内容和之后的内容
b.记录这个不同数据出现的位置,是Header还是Body
第三步:
确认插入关联的位置
我们在日志中找到了两次脚本的不同点的位置,根据这个位置,我们再确定是在哪个请求之后产生的,也就是说要定位发生不同点的response是由哪个request产生的,找到了这个请求的函数位置,我们就知道要往哪里做关联了
一般情况下关联函数写到发出请求的函数之前就可以了
第四步:
插入关联函数
在插入关联函数前,我们先介绍关联函数web_reg_save_param
一个web_reg_save_param函数的例子:
web_reg_save_param ("sessionid",
"LB=Session_id:",
"RB=;",
"Search=Body",
LAST);
在这里我们只介绍几个常用参数的含义
语法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);
参数说明:
ParamName: 存放得到的动态内容的参数名称
list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。
RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。
Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。
那么如何插入该关联函数呢?
1.将vugun切换到 view tree 模式下
2.在左边的列表中,找到在上一步发出请求的函数,点击“右键”
选择“insert before”
3.在弹出的“add step”对话框的“find function”中输入“web_reg_save_param”,点击“ok”
在“parameter name”中输入,关联函数的名称,这里最好有含义,“sessionid”
在“left boundary”中输入,刚才记录下的不同点字符串的左面的几个字符,定义左边界,Session_id:
在“right boundary”中输入,刚才记录下的不同点字符串的右面的几个字符,定义右边界,;
在“search in ”中,选择“body”
点击“ok”
4.回到脚本编辑模式下,查看该函数插入是否正确
在发出请求的函数前应该看到:
web_reg_save_param ("sessionid",
"LB=Session_id:",
"RB=;",
"Search=Body",
LAST);
第五步:
将脚本中有用到关联的数据,用参数代替
|
web_submit_form("login.php_2",
"Snapshot=t2.inf",
ITEMDATA,
"Name=login", "Value=wangjin", ENDITEM,
"Name=password", "Value=wangjin", ENDITEM,
"Name=Session_id","Value={ sessionid } ", ENDITEM,
"Name=Submit", "Value=Login", ENDITEM,
EXTRARES,
"URL=/media/images/border_bg_l.gif", ENDITEM,
"URL=/media/images/header_bg.gif", ENDITEM,
"URL=/media/images/th.gif", ENDITEM,
LAST);
第六步:
验证关联的正确性
回放脚本,验证关联的正确性
发表评论
-
LoadRunner监控器系列-How to set up the WebLogic monitor
2008-09-28 16:37 2749Installation Overview LoadRunne ... -
Loadrunner 测试sql语句性能
2008-09-28 11:05 6004本次通过loadrunner录制Sql ... -
如何在 LoadRunner 脚本中做关联 (Correlation)
2008-09-28 11:04 3040当录制脚本时,VuGen会 ... -
lr监视的性能计数器
2008-09-28 10:59 1742Memory: 内存使用情况可 ... -
十步完成Web应用程序压力测试
2008-09-28 10:55 1731Web 应用程序是决定网站 ... -
分析图表-中级测试师用
2008-09-28 10:52 1424在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利 ... -
LR性能分析图解释
2008-09-27 11:23 2361Transactions(用户事务分析)用户事务分析是站在用户 ... -
Loadrunner关于页面检查的几个函数详解
2008-09-27 11:07 3121环境:51Testing软件测试网/VDn_([Loadrun ... -
Loadrunner 日志参数的设置与使用
2008-09-27 11:05 2515转载请注明出处:http://www.51testing.co ... -
lR知识
2008-09-23 16:25 1317问题1:LoadRunner响应时间 ... -
性能瓶颈分析方法
2008-09-23 16:19 3288同一场景1.小用户量的情况下测试2.大用户量情况下的测试分析的 ... -
LoadRunner中HTTP协议的录制及两种录制模式的比较
2008-09-23 14:36 2016一,脚本编写 1, “HTML –base scrīpt”和 ... -
LoadRunner例子:检查点为参数的一个例子
2008-09-23 14:30 2677检查点是LoadRunner的一个功能,用来验证业务功能的正确 ... -
LoadRunner中字符串的操作
2008-09-23 14:29 2352LoadRunner中常用的字符串操作函数有: ... -
LoadRunner编程之文件的操作
2008-09-23 14:28 2015这篇文章主要写下LoadRunner下如何进行文件的操作。 1 ... -
LoadRunner关联函数的脚本实例--如何操作关联参数
2008-09-23 14:24 4918这几天一直在学习LoadRunner的VuGen编程,今天想对 ... -
关于Loadrunner非常好的英文网站
2008-09-23 14:07 1875今天无意间在一个测试同行的BLOG中发现了这个网站的链接: h ... -
LoadRunner脚本编写(6)— 数据类型转换和字符串操作
2008-09-22 16:05 4688一,数据类型转换 没有使用过C编程的LoadRunner脚本编 ... -
LoadRunner脚本编写(5)-- 检查点,关联等函数
2008-09-22 16:04 4109本文接着前面脚本编写4 http://www.51testin ... -
LoadRunner学习---脚本编写(4)(比较重要)
2008-09-22 16:01 4910今天接着来翻译http://www.wilsonmar.com ...
相关推荐
LoadRunner关联函数的使用可以帮助用户快速地处理web应用程序中的数据提取和参数传递。下面我们来详细地介绍LoadRunner关联函数的使用和优化。 一、LoadRunner关联函数的使用 LoadRunner关联函数可以通过 web_...
标题“loadrunner关联函数.pdf”和描述“loadrunner关联函数.pdf”表明这篇文档主要关注LoadRunner这一性能测试工具中的关联函数(Correlation Function)。LoadRunner是一种由HP公司开发的软件,用于测试应用程序、...
### LoadRunner自动关联详解 #### 一、LoadRunner与关联技术概述 LoadRunner是一种非常重要的负载测试工具,广泛应用于性能测试领域。通过模拟大量用户并发访问应用系统的方式,LoadRunner能够帮助开发人员发现并...
LoadRunner 关联(Correlation)详解 LoadRunner 作关联(Correlation)是指在录制脚本时,VuGen 会拦截 client 端(浏览器)与 server 端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在脚本和 ...
Loadrunner 自动关联手动关联 Loadrunner11 中自动关联操作和手动关联操作是 Loadrunner 中非常重要的功能,它们可以帮助用户更好地优化脚本,提高测试效率和可靠性。在这里,我们将详细介绍自动关联和手动关联的...
#### 一、LoadRunner关联简介 LoadRunner是一种广泛使用的性能测试工具,用于评估软件系统的性能并识别潜在的问题。在LoadRunner中,“关联”是指捕获和管理动态变化的数据值的过程,这些数据值通常出现在Web应用...
LoadRunner关联应用实例 软件测试 脚本内容:录制web登录邮箱,发送一封带有附件的邮件。 由于每次执行的时候服务器的返回值,这个返回值—附件变量"AttachFiles"每次返回都是不一样的,所以需要将这个变量"Attach...
在LoadRunner中,关联函数(Correlation Function)扮演着至关重要的角色,它用于处理不同请求间的依赖关系,确保测试脚本能够正确地模拟实际用户的行为。 关联的用途主要在于从服务端返回的数据中提取并保存关键...
通过以上步骤,我们不仅能够理解LoadRunner关联的基本原理,还能掌握其实际操作流程,这对于提升测试脚本的稳定性和准确性至关重要。关联技术的应用,确保了LoadRunner脚本能够在面对动态数据环境时仍保持高效和准确...
【loadRunner入门教学详细讲解】 LoadRunner是一款由Micro Focus公司开发的企业级性能测试工具,它广泛应用于软件性能测试,能够模拟大量并发用户,检测系统在高负载下的性能表现。本教学文档将帮助初学者深入了解...
#### 一、LoadRunner关联概述 在LoadRunner中,关联是一种重要的技术手段,用于解决在录制脚本时遇到的动态数据问题。通常有两种关联方式:手动关联和自动关联。 1. **自动关联**:LoadRunner提供了自动发现和关联...
### 如何在LoadRunner脚本中进行关联(Correlation) #### 关联的必要性与原理 在LoadRunner脚本的创建过程中,关联是一项至关重要的技术,尤其在模拟真实用户交互时,确保脚本的准确性和可重复性。关联的主要目标是...
2. 掌握LoadRunner关联函数的使用,如web_reg_save_param、web_custom_request等。 3. 学习如何创建和使用关联,包括局部和全局关联的区别。 4. 熟悉正则表达式的应用,以便更精确地提取动态数据。 5. 实践关联在...
2. **选择关联类型**:LoadRunner支持多种关联类型,如正则表达式关联、数据库关联、XML关联等。选择最合适的关联类型取决于动态数据的格式。 3. **创建关联**: - 在Action函数中,找到包含动态数据的步骤,右键...
### LoadRunner关联机制 LoadRunner提供了多种方式来处理动态数据,其中一种常用的方式就是**手动关联**。手动关联允许用户识别脚本中哪些变量是动态变化的,并通过特定函数(如`web_reg_save_param`)来捕获这些...