一、在MySQL命令行中,驗證MySQL是否能正常登陸。若不能登陸,則重置MySQL的密碼。
二、下載mysql-connector-java-5.1.45-bin.jar,將其放入Jmeter安裝目錄的lib目錄下。完成MySQL數據庫的驅動。
三、右鍵“線程組”->“配置元件”->“JDBC Connection Configuration”,進行JDBC連接配置。
四、以MySQL數據庫為例,配置JDBC: Driver class: com.mysql.jdbc.Driver
Database URL: jdbc:mysql://localhost:port/{dbname}
五、JDBC Request配置,右擊”線程組”,添加一個”JDBC Request”,添加”察看結果樹”。
Variable Name:數據庫連接池的名字,需要與JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query:填寫的sql語句未尾不要加“;”
Parameter valus:參數值
Parameter types:參數類型
Variable names:保存sql語句返回結果的變量名
Result variable name:創建一個對象變量,保存所有返回的結果
Query timeout:查詢超時時間
六、運行該線程組,”察看結果樹”顯示為下圖所示的界面,則連接MySQL數據庫成功。
七、Variables names參數使用
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}...來獲取相應的值。
示例:
有一張表有3個字段,4條記錄
1)添加一個jdbc request名為select4,添加一個Debug Sampler用來查看輸出的結果,設置 variables name為a,b,c:
2)執行結果:
案例:現在有個登錄請求,需要從MySQL數據庫中取出用戶登錄表中的username字段作為參數,實現參數化關聯。
1、 添加JDBC Request
2、在http請求中加入變量
username_id_N:N為數字,指取第幾個數
3、添加察看結果樹
4、添加循環控制器,“線程組”->“邏輯控制器”->“循環控制器”
5、將登錄請求放入到循環控制器下,另外添加一個計數器,因為我們取的值是根據${username_N}來取的,那么這個N可以通過計數器遞增的方式獲得。
“循環控制器”->“配置元件”->“計數器”
6、通過函數助手獲取嵌套函數 __V
7、運用在登錄請求的參數中
最后執行登錄請求,查看結果。