loadrunner:关联操作

loadrunner:关联操作

文章以实例讲解loadrunner中的关联操作,内容包括:自动关联、手动关联和关联规则的设置。

1.1.1     准备工作

在web tours项目默认设置里,登录操作是没有生成sessionID的,所以我们需要设置一下。

打开web tours 点击 administration,如下图:

 

 

在“Administration Page”页,勾选上第三个选项“Set LOGIN form's action tag to an error page.”然后保存即可,如下图:

 

 

1.1.2     自动关联

首先要录脚本,这个比较容易自己操作即可。

回放脚本:回放之前要打开recording Options 窗口,点击correlation标签页,确保Enable correlation during recording 选项处于勾选状态,如下图

 

 

回放日志如下,出现了异常:web_image("SignOff Button")没找到。

 

 

我们再看回放窗口的最后一个回放记录页面,如下图,web tours提示我们可能是因为session的原因。通常出现sessionID这些动态信息的时候,我们就需要找出关联值,做关联操作。

 

 

这时候我们可以通过扫描脚本查找关联值,如下图点击“Scan script for Correlations”,也可以用快捷键ctrl+F8.

 

 

如下图,在扫描结果中我们找到了sessionID

 

 

下面我们对这个sessionId做关联,选中这一大串sessionID,然后右键点击“Create Correlation”

 

 

在上面的弹出框中点击“是”,然后回到脚本中可以看到已经生成了一块函数web_reg_save_param_ex,被保存的参数名为“CorrelationParameter_1”

 

 

最后,打开登录函数块,并参数化sessionID,如下图。

 

 

到此设置关联已完成,回放脚本即可通过。

1.1.3     设置关联规则,生成关联

如果我们预先知道要关联的内容,那么我们可以自己设置关联规则,这样在录制的过程中脚本就会自动生成关联。

Recording Options > Correlation > New Application(添加"web tours") > New Rule设置规则。如下图为我们设置好的关联规则

 

 

然后我们直接录制脚本。

查看脚本,我们可以看到已经生成了关联参数,并且参数已经应用在请求当中,如下两个图:

 

 

1.1.4     手动关联

1)         对同一操作录制两个脚本;

2)         使用LR自带的脚本对比工具WDiff:Tool > compare with Script...,打开如下图所示,对比两个脚本;

 

 

3)         对比两个脚本,找到需要关联的内容(这时候需要注意,脚本不一至的内容不一定需要关联);

4)         使用web_reg_save_param进行关联:Insert .> New Step...,找到web_reg_save_param函数

 

 

5)     填写参数名左右边界等信息(其他属性不懂的可自行百度)

 

 

6)     点击“OK”生成函数,如下图:

 

 

7)     最后调用参数,并回放脚本,执行通过。

 

 

手动关联的一般步骤:

1、录制两次相同的脚本;

2、使用loadrunner自带的WDiff(Tools->Compare with script)工具,找出两次脚本录制的不同之处,判断是否需要关联;

3、确定插入关联的位置;

4、在脚本视图中插入web_reg_save_param函数建立手动关联;

5、将脚本中需要建立关联的数据用参数替换;

6、验证关联的正确性。

下面详细介绍步骤:

1、录制完一次脚本并保存,这里保存为basic_tutorial_1(录制的步骤根据loadrunner 11 帮助文档上的实例);

2、再次进行相同的步骤进行第二次录制,保存为basic_tutorial_2,点击【Tools】->【Compare with script】,弹出文件选择框,选中名为basic_tutorial_1的文件。

3、WDiff会开启,同时显示二份脚本,并显示有差异的地方。WDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。

查看二份脚本中差异的部份,每一个差异都可能是需要做关联的地方,lr_thik_time部分的差异可以忽略。(详见参考文献1)

找到不同的部分,然后在输出窗口的【Generation Log】中按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息。
如果出现在****** Request Header For Transaction With Id 3 ******等类似的部分中,那证明是客户端发出的请求,这里是不需要做关联;一般做的关联都是出现在****** Response Body For Transaction With Id 13 ******等类似的Response部分的内容,找到这个信息,记录如下内容:

A、记录这个不同数据之前的内容和之后的内容,如这里的不同数据是带红色部分(<input type=hidden name=userSession value=106846.044795464ftQfiQDptcQVzzzHDcQHfpDzAfHf>)那么它的左边界就是"<input type=hidden name=userSession value=",而右边界就是">"(边界内容越详细越好)。

B、记录这个不同数据出现的位置,是Header还是Body。

4、确认插入关联的位置:

需要重新运行一次脚本,运行前先点击【Vuser(U)】->【Run-time Settings】->[Log],将【Log】中的【Enable logging】勾选上,选择【Extended log】,将【Extended log】中的选项全部勾选上。

重新运行完脚本后,点击输出窗口的【Replay Log】,按CTRL+F,粘帖上<input type=hidden name=userSession value=然后找到两次录制脚本不同点的位置,即如下这一行数据,双击此处,在脚本中的位置之前就是需要插入关联函数的地方。

Action.c(4): <input type=hidden name=userSession value=106853.155690563ftQzcfQpVQfiDDDDDcQHHpfffVHf>\n

5、插入关联函数:

右击上一步骤中,搜索到的脚本位置,在其上方的空白处右击,【插入】->【新建步骤】,弹出添加步骤输入框,输入“web_reg_save_param”,点击确定,弹出将数据保存到参数中输入框,在参数名中输入“UserSession”,左边界“<input type=hidden name=userSession value=”,右边界“>”,勾选搜索范围,选择“正文”,然后点击确定。
成功插入后应看到如下的正确函数:

web_reg_save_param("UserSession",
"LB=input type=hidden name=userSession value=",
"RB=>",
"Search=Body",
LAST);
6、将脚本中有用到关联的数据,用参数代替:

如发出请求的参数如下,那么将原来服务器返回的动态值使用{ UserSession } 来替换:

注意这里取变量用的是{}大括号。

7、最后验证关联的正确性:
  回放脚本,验证关联的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值