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 逐个打印出变量值
如下二维码为专注自动化测试技术公众号:为测,请扫二维码关注