loadrunner 关联匹配多个值

loadrunner 关联获取从服务器返回相关值,如果需要把所有匹配的值都获取并且把这些值打印出来,怎么做呢?

1、首先要把把所有的匹配值都保存起来,需要在关联函数里面多传递一个参数:"Ordinal=All", 意思就是把所有的顺序值都取出来。如想把服务器返回的值的所有class= 后面的值都获取出来

<div class="inside">
<div class="submitbox" id="submitpost">

如下三种关联函数都追加了Ordinal=All,都可以获取,只要选其中的一个就可以

web_reg_save_param("class_ex","LB=class="","RB="","Ordinal=All",LAST);
web_reg_save_param_regexp("ParamName=class_ex","RegExp=class="(.*?)"","Ordinal=All", LAST);
web_reg_save_param_ex("ParamName=class_ex","LB/IC=class="","RB/IC="","Ordinal=All",LAST);

2、把这些获取的参数打印出来,从关联函数可以看出,保存的参数名称为:class_ex,用lr_message 行数打印代码为:

for(i=1;i<=atoi(lr_eval_string("{class_ex_count}"));i++){
    sprintf(param_index, "{class_ex_%d}", i);
    lr_message("class %d:%s",i,lr_eval_string(param_index));

}

代码中 变量i需要在lr脚本最上面声明一下,否则报错

Action()
{
int i = 0;
char param_index[64];

...
}
atoi(lr_eval_string("{class_ex_count}")) 作用是获取匹配了多少个参数
sprintf(param_index, "{class_ex_%d}", i);是格式输出,并把格式中的值保存在变量param_index中,实际param_index 保存的值分别为:class_ex_1、class_ex_2 等等
最后lr_message 逐个打印出变量值

如下二维码为专注自动化测试技术公众号:为测,请扫二维码关注

原文地址:https://www.cnblogs.com/testway/p/9543228.html