我正在loadrunner 12.60中增强Vuser脚本,并且正如我在问题标题中提到的那样,我需要将一组项目数据传递给表单。这些数据是隐藏的,因此它们的值不会出现在记录的脚本返回给服务器的数据项中。现在,我已经使用web_reg_save_param_ex提取了上述值,但是隐藏的输入及其值是随机的,因此也许在一次迭代中我捕获了5个元素,而在另一个迭代中我捕获了50个以上的元素。
我已经在本节中了解了当前迭代中捕获了多少个项目,它打印了值的名称和值本身。
nameCnt = atoi(lr_eval_string("{nomf_count}"));
valCnt = atoi(lr_eval_string("{valf_count}"));
lr_output_message("Number of vars found = %d",nameCnt);
lr_output_message("Number of values found = %d",valCnt);
for (y = 1; y <= nameCnt; y++) {
sprintf(chainNom, "{nomf_%d}", y);
lr_output_message ("%s: %s", cadenaNom, lr_eval_string(cadenaNom));
sprintf(chainVal, "{valf_%d}", y);
lr_output_message ("%s: %s", cadenaVal, lr_eval_string(cadenaVal));
}
我已经提取了名称和值,但是我不知道如何将它们作为数据项传递给web_submit_form
任何帮助甚至是朝正确方向的推动都将不胜感激。
谢谢。
答案 0 :(得分:0)
如另一条评论中所述,在您的自定义/提交请求下添加ITEMDATA:
ITEMDATA,
"Name=<Your Parameter Name>", "Value={your_param_value}", ENDITEM,
[...]
LAST;
答案 1 :(得分:0)
您可以尝试使用lr_param_sprintf()函数代替sprintf()。 这会将您的值保存到Loadrunner参数而不是c参数中。您可以直接将其传递给您的web_submit_form
lr_param_sprintf ("chainNom", "{nomf_%d}", y);
lr_param_sprintf (chainVal, "{valf_%d}", y);
....
ITEMDATA,
"Name={chainNom}", "Value={chainVal}", ENDITEM,