JMeter如果進行JDBC請求,請求后的響應結果如何給下一個請求用(也就是傳說中的關聯),於是研究了一下,下面將學習的成果做個記錄:
1.添加 "JDBC Connection Configuration"里面用來配置一些數據庫連接的信息
2.添加一個“CSV Data Set Config”,用來在后續的JDBC請求中select語句中where條件參數化使用
3.添加JDBC請求

4.請求測試可以發現jdbc請求已經成果,並能在響應數據中看到返回的結果

5.那么接下來的問題就來了,如果我的下一個請求,需要JDBC中的請求,那我該怎么得到JDBC中的響應數據呢?
在JMETER中可以使用“正則表達式提取 器”來實現,那么怎么來實現呢,需要在jdbc請求后面添加一個后置的“正則表達式提取器”(表達式中的關鍵部分是 ([^"]+) ),添加的表達式如下
6.為了驗證是否能正確取得jdbc中的響應結果數據,模擬添加了一個簡單的http請求
7.http請求的“查看結果樹”中可以看到成功的取得的user_id的信息
多說幾句,如果SQL語句寫成 select 'user_id='|| '"' || user_id ||'"' from sys_user b where b.USER_ID='13707'的形式,則可以通過下面的正則表達式來取到user_id=后面的內容,正則表達式為:user_id=" (.+?)"
總結:
1.正則表達式看來是需要好好學習一下了;
2.目前認為如果是取得jdbc的響應結果,是否通過beanshell來實現會更方便呢,可以自己寫個java程序做個封裝,來取得每次返回的結果。
