jmeter 獲取jdbc request 返回的多行數(shù)據(jù)

場景:

jdbc request 查詢結(jié)果為多行數(shù)據(jù)。獲取這些數(shù)據(jù)并返回

1、建立JDBC Connection Configuration 連接

2、創(chuàng)建jdbc request,查詢sql如下:

SELECT? 'VEHICLE_SUB_MODEL_ID='|| '"' ||? t.VEHICLE_SUB_MODEL_ID ||'"'? FROM t_md_vehicle_model t WHERE t.TIMING_ID in (${tidStr})? AND ((t.BEGIN_YEAR <= ${year} and t.END_YEAR is null) or (t.BEGIN_YEAR is null and t.END_YEAR >= ${year}) or (t.BEGIN_YEAR <= ${year} and t.END_YEAR >= ${year}))

注1:上述sql中,'VEHICLE_SUB_MODEL_ID='|| '"' ||? t.VEHICLE_SUB_MODEL_ID ||'"' ,返回的結(jié)果,格式如下:

jdbc request 1

注2:如果直接這樣:SELECT? t.VEHICLE_SUB_MODEL_ID? FROM t_md_vehicle_model t WHERE t.TIMING_ID in (${tidStr})? ,返回的結(jié)果,格式如下:

jdbc request 2

3、好了,上面已經(jīng)得到查詢結(jié)果,接下來需要將響應(yīng)的數(shù)據(jù)中的VEHICLE_SUB_MODEL_ID? 提取出來。

新增正則表達(dá)式提取器,設(shè)置如下:

其中引用名稱model,后續(xù)傳參要用到,因為上面的jdbc request響應(yīng)數(shù)據(jù)已經(jīng)被格式化,所以正則表達(dá)式直接用 字段名="(.+?)"的格式

正則表達(dá)式1

如果采用注2中的sql進(jìn)行查詢,正則表達(dá)式的格式需要這樣:字段名\n([^"]+)

正則表達(dá)式2

4、上一步將VEHICLE_SUB_MODEL_ID? 提取后,察看結(jié)果樹中 數(shù)據(jù)的個數(shù)為24個

察看結(jié)果樹

通過獲取model的個數(shù),分別提取每一個modelId.

新增一個BeanShell PostProcessor,先獲取model的個數(shù),然后通過for循環(huán) ,拼接model_n,加入到list中

將list轉(zhuǎn)化成字符串,并輸出

BeanShell PostProcessor

String? model_num =vars.get("model_matchNr");

int num = Integer.parseInt(model_num);

log.info("車型ID個數(shù):"+num);

List list = new ArrayList();

for(int i=1;i<=num;i++){

String ss ="model_"+i ;

String modelId = vars.get(ss);

//log.info("model is :"+ ss);

log.info("model is :"+ modelId);

list.add(modelId);

}

log.info("可用的款型個數(shù)為:"+list.size());

StringBuilder csvBuilder = new StringBuilder();

for(String i:list){

csvBuilder.append(i);

csvBuilder.append(",");

}

String csv = csvBuilder.toString();? ? //保存VMI組件結(jié)果,供后續(xù)比較使用

csv = csv.substring(0,csv.length()-1);

vars.put("VMI2Result",csv);

log.info("可用款型分別為:"+vars.get("VMI2Result")+"\n");

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容