再今天重新學習,從數據庫中取數據,並作為變量傳到下一個請求中。
首先第一步要導入mysql驅動包
一、添加JDBC Connection Configuration
設置鏈接
Database URL: jdbc:mysql:// 數據庫地址 /庫名
JDBC Driver class:com.mysql.jdbc.Driver
Username:賬號
Password:密碼
二、添加JDBC Request
ariable Name: 數據庫連接池的名字,需要與上面配置的JDBC Connection Configuration中Variable Name Bound Pool的Variable Name相同
Query:填寫的sql語句未尾不要加“;”
Parameter valus:參數值
Parameter types:參數類型,可參考:Javadoc for java.sql.Types
Variable names:保存sql語句返回結果的變量名
Result variable name:創建一個對象變量,保存所有返回的結果
Query timeout:查詢超時時間
Handle result set:定義如何處理由callable statements語句返回的結果
variables names設置為A,,C,那么如下變量會被設置為:
A_#=2 (總行數)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (總行數)
C_1=第3列, 第1行
C_2=第3列, 第2行
- 如果返回結果為0,那么A_#和C_#會被設置為0,其它變量不會設置值。
- 如果第一次返回6行數據,第二次只返回3行數據,那么第一次那多的3行數據變量會被清除。
- 可以使用${A_#}、${A_1}...來獲取相應的值
三、在http請求中加入變量
username_id_N:N為數字,指取第幾個數
四:添加察看結果樹
結束。。。。。。
-------------這里是分界線-------------
其實並沒有。。。。
實際中,我們是取出多個值,循環傳入數據庫
五:添加循環控制器:
六:目標接口放入到循環控制器下,另外添加一個計數器,因為我們取的值是根據${username_N}來取的,那么這個N可以通過計數器遞增的方式獲得
七:計數器:
八:通過函數助手獲取嵌套函數
函數__V可以用於執行變量名表達式,並返回執行結果。它可以被用於執行嵌套函數引用(目前JMeter不支持)。
例如,如果存在變量A1、A2和N=1,則:
${A1}:能正常工作。
${A${N}}:無法正常工作(嵌套變量引用)。
${__V(A${N})}:可以正常工作。A${N}變為A1,函數 __V返回變量值A1。
九:運用在目標接口中
運行就OK啦
排錯記錄
1. 報“Cannot load JDBC driver class 'com.MySQL.jdbc.Driver ” ----- 表示沒有JDBC連接mysql的驅動包,添加mysql的驅動包
2.不同的數據庫有不同鏈接方式
注:原創,轉載請說明出處!