【LoadRunner】关联的作用以及如何进行关联

本文详细介绍了LoadRunner中的关联功能,解释了为何需要进行关联以处理服务器动态分配的数据,何时应使用关联(如在处理Session ID变化时),并提供了手工关联和自动关联的具体步骤。手工关联涉及使用WinDiff工具定位动态数据,插入web_reg_save_param函数,验证关联效果;而自动关联则通过回放脚本,启用关联选项,识别并创建关联。关联对于确保脚本使用服务器最新数据至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要进行关联?

在录制生成的脚本中,录制到了一些服务器分配的数据,但是再回访的过程中,服务器又重新分配了新的数据,导致这些录制时生成的数据已经无法使用,需要使用服务器分配的最新数据。
关联可以在脚本中捕获到服务器分配的数据,存储到参数中,需要使用时从参数中取出,从而保证使用的是服务器最新分配的数据。
其实关联也属于一同特殊的参数化,只是与一般的参数化有些不同。一般的参数化的参数来源于一个文件、一个定义的table、通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的、动态的值。

什么时候应该做关联?

这里我用一个登录来举一个例子:
这里写图片描述
客户端向服务器发送一个登录的请求,然后服务器接受了并且给这个请求分配一个唯一的Session ID。
当用户输入用户名密码,请求登录时,该Session ID同时被发送到服务器端,但是这个ID只在当前会话中有效,当我刷新界面或者是换个账号登录,这个ID就失效啦,服务器就会给我发个新的Session ID。
但是我们录制脚本的时候录制的是第一个Session ID,那么我回放脚本的时候使用的录制时ID就不能用了,就会登录失败。。。
为了解决这个很重要的问题,我们就要使用关联功能!

怎么去做关联呢?

1.手工关联

使用手工关联我们需要找出有哪些数据是动态变化的,有时候一个脚本看不出来,我们可以录制两边找出其不同处,看这些数据是否需要关联。

1.1 使用LR自带的WinDiff工具协助找出需要关联的数据:
  1. 在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份录制的脚本。
  2. 接着WinDiff会开启,同时显示二份脚本,并显示有差异的地方。WinDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。

找到不同的部分后,复制,然后打开Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息
如果出现在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$这个部分,那证明是客户端发出的请求,这里是不需要做关联的。
一般做的关联都是出现在****** Response Header For Transaction With Id 7

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值