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 逐個打印出變量值
如下二維碼為專注自動化測試技術公眾號:為測,請掃二維碼關注