Warning: The string 'returncode' with parameter delimiters is not a parameter

本文介绍了解决LoadRunner压力测试中遇到的数据丢失问题。通过调整lr_log_message(lr_eval_string("{returncode}

最近在压测一个接口,压测过程中总是出现数据丢失,为了定位问题,我就获取接口返回值校验,谁知道获取返回值的过程中总是报错:Warning: The string 'returncode' with parameter delimiters is not a parameter。返回码returncode不是参数,很是郁闷,调试了半天才发现原来是    lr_log_message(lr_eval_string("{returncode}"));这句话放的位置不对,开始我放置的位置如下:

web_reg_save_param("returncode",
        "LB=ACTION_RETURN_CODE\":\"",
        "RB=\",",
        LAST);
    lr_log_message(lr_eval_string("{returncode}"));

   lr_start_transaction("MPI_Start");
    web_custom_request("web_custom_request",   // web_custom_request请求内容


其实应该把  lr_log_message(lr_eval_string("{returncode}"));放在代码尾部,调整位置后代码:

   lr_end_transaction("MPI_Start",LR_PASS);// web_custom_request请求结束的标识
   lr_log_message(lr_eval_string("{returncode}"));


运行代码后可以看见日志中打印

Notify: Parameter Substitution: parameter "returncode" =  "100030"

<think>好的,用户遇到了LoadRunner脚本错误“parameter delimiters is not a parameter”,需要解决方案。首先,我需要理解这个错误的具体含义。根据经验,这个错误通常与参数化设置有关,可能是在参数分隔符的使用上出现了问题。用户可能在参数化时使用了错误的分隔符,或者参数名称前后缺少必要的标识符,比如花括号{}。 接下来,我应该回忆一下LoadRunner的参数化规则。参数一般用{}包围,比如{param1}。如果用户的分隔符设置不正确,或者在参数名中包含了特殊字符而没有正确转义,就可能引发这个错误。比如,如果参数名中有空格或者保留字符,可能需要用引号包裹或者转义处理。 然后,检查用户提供的引用内容是否有相关线索。引用[3]提到调试脚本时可以使用lr_set_debug_message函数,这可能有助于定位问题。另外,引用[4]提到运行时设置中的超时问题,虽然和参数化无关,但提醒我需要检查其他可能的配置错误。 可能的解决步骤包括:检查参数化语法是否正确,确认参数名称是否被正确包围,检查参数文件路径是否正确,以及是否有特殊字符需要处理。此外,可能需要调整VuGen的默认分隔符设置,或者使用转义字符来处理特殊符号。 还需要考虑用户可能的操作失误,比如在参数名称中使用了错误的分隔符,或者参数文件格式不正确。例如,参数文件如果是CSV格式,分隔符是否匹配,列名是否正确等。 最后,总结解决方案步骤,并生成相关问题,帮助用户进一步排查其他潜在问题,比如参数化后的数据替换问题,或者关联函数的使用是否正确。</think>### 问题分析及解决方案:'parameter delimiters is not a parameter'错误 此错误通常与参数化语法错误或参数标识符配置冲突相关,以下是具体解决步骤: 1. **检查参数化语法格式** - 确保参数名称被`{}`正确包裹,例如:`{username}` - **错误示例**:`"param1"`或`param1` - **正确示例**:`"{param1}"` - 注意参数名中避免使用保留字符(如`$`, `#`, `%`等) 2. **验证参数分隔符设置** - 打开VuGen菜单:`File > Preferences > Parameterization` - 检查`Parameter Format`中定义的起始/结束分隔符是否与脚本中一致 - **默认配置**应为:`Start delimiter = {`,`End delimiter = }`[^3] 3. **处理特殊字符冲突** ```c // 当参数值包含{}时需转义处理 lr_save_string("特殊{值}","Param"); web_submit_data("test", "Value={Param}", LAST); ``` - 使用`lr_eval_string("{Param}")`确保动态解析 4. **检查参数文件格式** - 若使用外部参数文件(如`.dat`): - 确认列名与脚本中参数名完全匹配 - 检查文件编码应为`ANSI`或`UTF-8 without BOM` - 示例文件结构: ``` [参数名] Value1 Value2 ``` 5. **运行时设置验证** - 进入`Run-time Settings > Miscellaneous > General` - 勾选`Enable Parameter Replacement during replay` --- ### 验证方法 1. 使用`lr_output_message("当前参数值:%s", lr_eval_string("{Param}"))`输出参数值 2. 通过`Tools > Generate Parameter List`检查参数关联性[^3] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值