做LoadRunner脚本时,关联最容易出问题的地方,不是函数不会写,而是动态值还没找全就急着回放。VuGen官方说明里已经把路径写得很清楚,【Design Studio】里的【Correlation】页就是专门用来扫描、关联和管理动态值的,而且它支持规则扫描、录制后扫描和回放后扫描三种方式。实际处理时,先把动态值找准,再决定是直接关联,还是沉淀成规则,脚本会稳很多。
一、LoadRunner脚本关联怎么做
做脚本关联时,不要一上来就满脚本搜sessionId。更稳的做法,是先让VuGen把疑似动态值扫出来,再决定哪些交给自动关联,哪些改成手工提取。这样后面回放和定位都会轻松很多。
1、先把关联扫描入口打开
录制完脚本后,先在VuGen里点【Design Studio】再进【Correlation】页。官方说明里提到,这个页面会负责扫描、展示和管理动态值,而且只要脚本里已经有录制数据,就能先做规则扫描和录制扫描;如果脚本已经回放过,还能继续做回放扫描。
2、三种扫描尽量一起用
VuGen官方建议一般情况下把规则扫描、录制扫描和回放扫描都启用。这样系统会先按规则找一轮,再用录制后和回放后的差异继续补动态值;如果第一次还没找全,就继续点【Replay&Scan】,一直到不再出现新的关联项为止。
3、自动没抓住的值再手工提取
如果某个动态值没有被自动关联,就要手工补提取函数。官方配置页说明,边界型关联会用web_reg_save_param_ex,正则型会用web_reg_save_param_regexp;如果是XML或JSON返回,也可以走XPath或JSON query这类路径。
4、提取函数要放在正确请求前面
手工关联时,提取函数不是随便插在哪都行,而是要让它去抓“下一次动作函数返回的服务器响应”。官方对web_reg_save_param_regexp的说明就是先注册一次查找请求,再到下一条action function的响应里取值;取到以后,再把后续请求里的固定值换成参数引用。
二、LoadRunner关联规则怎么提取
关联规则的重点,不是把一条脚本里的值临时改掉,而是把这类动态值的识别方式沉淀下来。这样下次录同类业务流程时,VuGen就能直接按规则生成关联代码,不用每次从头找。
1、先从已识别出的动态值反提规则
如果【Correlation】页里已经找到某个动态值,可以直接点【Add as Rule】把它转成规则。官方界面说明里写得很明确,这一步可以给规则起名,也能指定应用名称,适合把已经验证过的关联方式复用下来。
2、规则入口在录制选项里
如果你想正式整理规则库,可以到【Record】→【Recording Options】→【Correlations】→【Rules】里维护。这里可以新建应用、导入导出规则、删除规则,还能直接测试规则是否命中。
3、规则提取先选扫描类型
官方的新规则页把扫描类型分得很细,常见有Boundary Based、Regular Expression、XPath query和JSON query。也就是说,提规则时不要默认只写左右边界,先看返回内容到底是普通文本、正则更方便,还是XML和JSON结构更合适。
4、边界型规则把左右界限写准
如果走Boundary Based,就要把Left boundary和Right boundary写清,还可以决定是否区分大小写,以及是否用井号代替任意数字。官方文档还提到,规则可以给自动生成的参数统一加前缀,这样后面看脚本时更容易认出是哪一类关联值。
三、LoadRunner关联是否生效怎么验证
关联做完以后,不能只看脚本里多了几个参数名,更要看它在回放时有没有真的抓到值、替换成功、并且后续请求还能继续走通。把验证动作做扎实,后面脚本才不容易反复返工。
1、先看关联值有没有被成功保存
回放后先查日志里有没有参数保存成功的提示。像官方示例里那样,关联函数命中后会把参数值保存下来;如果这里就没抓到,后面再替换也没有意义。
2、再看脚本里的固定值是否都换成参数
只抓到值还不够,后续请求里所有对应动态值都要改成参数引用。官方说明里明确写到,关联的目标就是把脚本中的录制值替换成参数引用,所以验证时一定要回头检查替换有没有漏。
3、最后反复回放直到不再出现新动态值
VuGen官方对【Correlation】页的建议很明确,回放并扫描这一步往往需要重复多次,直到Design Studio不再发现新的关联项。只有走到这一步,脚本关联才算真正收住。
总结
LoadRunner脚本关联怎么做LoadRunner关联规则怎么提取,真正顺手的做法不是一边报错一边补函数,而是先用【Correlation】页把动态值找全,再把稳定命中的关联方式沉淀成规则,最后用日志和多轮回放去验证。这样处理下来,脚本不但更容易跑通,后面同类业务流程也更容易复用。
