LoadRunner sprintf和lr_eval_string

时间:2015-02-20 09:48:14

标签: c loadrunner

我正面临一些问题,我肯定是正确的代码,因为我已经看到它在今天之前工作,并且没有对脚本进行任何更改,只有VUGen版本更改/升级。

HP Virtual User Generator ::版本: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函数迭代捕获的项目,返回;

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

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

1 个答案:

答案 0 :(得分:0)

代码被篡改!

解决方案::从"{ }"功能中删除lr_eval_string;

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