上一节介绍了关联的原理与自动关联,除了自动关联还有另外两种关联方式:手动关联与 预关联。
手动关联
如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情。这时,我们可以通过脚本对比的方法找出需要关联的内容。
1、录制第一份脚本,保存为“关联a” 。
2、录制第二份脚本(操作步骤与第一次保持一致),调用loadrunner自带的WinDiff
(Tools-->campare with users ),选择“关联a”
通过WinDiff 对脚本的对比,我们很容易来判断需要做关联的内容。
3、使用web_reg_save_param函数建立关联脚本
web_reg_save_param(
"ParamName=CorrelationParameter_1",
"LB=userSession Value=",
"RB=>",
"Ordinal=1",
"RElFrameId=1.2.1",
"Scope=Body",
LAST);
int web_reg_save_param( const char *ParamName, <List of Attributes>, LAST );
第一部分(const char *ParamName):参数名,用双引号括起来,逗号分开
第二部分(<List of Attributes>):包括LB、RB、RelFameID、Ord、Search、SaveOffiset、SaveLen等。
第三部分(LAST ):结束标志。
通过按F1 键打开帮助文档,搜索此函数,查看具体用法。
4、LR11 还提供了另一种手动关联方式。
选择Tree 视图模式,点击HTTP View 下查看Response Body 中,打到需要关联的内容,右键在下拉列表中选择“Create Coorelation”
预关联
预关联也可以叫做“ 一边录制一边关联”。为什么录制某此系统,会得到一些自动关联函数呢?这就是系统默认提供自动关联设置。如果我们预先知道需要关联的内容时。可以预先设置好要关联的内容,这样在脚本录制的过程中自动对要关联的内容进行关联。
在录制脚本时打开Recording Options 设置窗口
(本文以loadrunner 自带WebTours 的关联为例)
1、点击一New Application 按钮,新建一个叫做WebTours 的应用
2、选择这个规则,点击 New Rule 按钮一个规则。
3、然后做如下设置:
关联函数web_reg_save_param_ex
前面的例子用到web_reg_save_param 关联函数,web_reg_save_param_ex 可能也是很常用的一个关联函数。我们碰到函数就胆怯,这个不知道暗具体怎么使用它。
菜单栏Insert --- new step 打开add step 窗口
搜索web_reg_save_param_ex 函数,选中函数,点击OK ,弹出函数的设置窗口:
Prameter name: 此设置存放参数的名称。
Left boundary: 此处设置左边界,这里是用来填写关联对于数据处理的左匹配内容规则。
Match case : 默认情况下边界是检查Match case ,也就是检查大小写的。
Binary data : 如果要关联的内容是非ASCII 字符的,需要选择此项
Regular expression : 在LR11 中关联提供了使用正则表达式的功能,但是LR11 Patch3 中取消web_reg_save_param_ex 函数对此功能的设置。
Reight boundary: 此处设置右边界。
DFEs : 在录制选项和回放中我们提供了DFE的功能,在关联这里也支持DFE的数据处理。 (DFE等后面再解释,或你自行查资料)
Ordinal : 这个关键字在很多函数里面都有应用,在这里可以填写任意一个整数,也可以填All 。如果填写数字,那么说明从返回的记录中取出对应顺序的值,而填写All 的话将会返回所有内容。
Save Offset : 设置关联的内容偏移量,从第几位开始进行关联操作。
Save Length : 关联出来的内容所需要保存的长度。
Warm if text was not found (Default is Error) : 对于关联的对象不存在的处理。
Filters : 下面的选项都是帮助关联返回限定的,通过这些设置可以进一步减少返回的范围。
----------------------------------------------------
关于关联函数的每一个选项的介绍,我将得不是很清楚,你可以找更详细的资料学习。