LoadRunner sprintf 和 lr_eval_string

LoadRunner sprintf and lr_eval_string

我遇到了一些问题,我确定这些问题是正确的代码,正如我今天之前看到的那样,并且没有对脚本进行任何更改,只有一个 VUGen 版本 change/upgrade。

HP 虚拟用户生成器::版本:12.02.0.0

ClockingIDCount = atoi(lr_eval_string("{ClockingID_count}"));

lr_output_message("CIDCount:%d",ClockingIDCount);
lr_output_message("ClockingID1::%s",lr_eval_string("{ClockingID_1}"));

for (i = 1; i <= ClockingIDCount; i++) {
    sprintf(loopParam, "{ClockingID_%d}", i);
    lr_output_message("ClockingID: %s %s %s", loopParam, lr_eval_string("{loopParam}"), lr_eval_string(lr_eval_string("{loopParam}")));
}

输出:

Action.c(120): CIDCount:21
Action.c(121): Notify: Parameter Substitution: parameter "ClockingID_1" =  "6829888"
Action.c(121): ClockingID1::6829888

但是使用sprintf函数迭代捕获的项目,returns;

Action.c(125): ClockingID: {ClockingID_1} {loopParam} {loopParam}

注意:我知道第 3 次 %s 评估不应该起作用 - 只是一个想法,因为我之前看到它解决了类似的问题。

代码被篡改!

解决方案 :: 从 lr_eval_string 函数中删除 "{ }"

解决方案:: lr_output_message("ClockingID: %s", lr_eval_string(loopParam));