You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LoadRunner中捕获迭代时位置动态变化的Performance、tester、role

在LoadRunner中捕获顺序随机的三个动态值

针对三个目标值(Performance、tester、role)排列顺序随机的场景,有两种可靠的捕获方案:

方法一:先捕获完整值列表再拆分

先一次性捕获Values :和??之间的所有内容,再通过字符串拆分提取单个值:

  1. 用web_reg_save_param_ex捕获完整值串:
web_reg_save_param_ex(
    "ParamName=AllValues",
    "LB=Values :",
    "RB=??",
    "Search=Body",
    LAST);
  1. 用strtok函数拆分逗号分隔的结果,存入独立参数:
char *token;
// 提取第一个值
token = strtok(lr_eval_string("{AllValues}"), ",");
lr_save_string(token, "CapturedPerformance");
// 提取第二个值
token = strtok(NULL, ",");
lr_save_string(token, "CapturedTester");
// 提取第三个值
token = strtok(NULL, ",");
lr_save_string(token, "CapturedRole");

这种方式不受值排列顺序影响,最终三个值会被分别存入指定参数,后续脚本直接调用即可。

方法二:用正则表达式单独匹配每个值

针对每个目标值编写独立关联规则,通过正则忽略顺序直接定位目标:

// 捕获Performance(兼容大小写场景)
web_reg_save_param_ex(
    "ParamName=CapturedPerformance",
    "LB=Values :",
    "RB=??",
    "RegExp=.*?(Performance|performance).*?",
    "Search=Body",
    LAST);

// 捕获tester(兼容大小写场景)
web_reg_save_param_ex(
    "ParamName=CapturedTester",
    "LB=Values :",
    "RB=??",
    "RegExp=.*?(tester|Tester).*?",
    "Search=Body",
    LAST);

// 捕获role(兼容大小写场景)
web_reg_save_param_ex(
    "ParamName=CapturedRole",
    "LB=Values :",
    "RB=??",
    "RegExp=.*?(role|Role).*?",
    "Search=Body",
    LAST);

利用.*?非贪婪匹配跳过无关内容,直接定位目标值,不管它在列表中的位置。如果返回值大小写固定,可简化正则表达式。

关键注意事项

  • 所有web_reg_save_param_ex必须放在触发返回值的HTTP请求之前,否则无法生效。
  • 如果值之间的分隔符不是逗号,需同步调整拆分逻辑或正则中的分隔符号。

内容的提问来源于stack exchange,提问作者Nilesh Bhapkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:28:34