Jmeter從數據庫獲取數據作為腳本參數
應用環境:linux+tomcat+mysql
在做性能測試的時候,有時候需要從數據庫中獲取數據,作為運行腳本的參數,使用到的方法有兩種:
- 直接從數據庫中導出數據到表格,在利用csv data set config 進行參數化;(適合固定的數據且數據量不大)
- 直接從數據庫中獲取到數據;(適合大量變動的數據)
下面講的是第二種方法,如何從數據庫中獲取到數據,用來作腳本參數:
步驟一:導入mysql jar包(這個包可以從開發源代碼中獲取到)
步驟二:添加JDBC Connection Configuration,用來連接數據庫:
- Variable Name:數據庫的類型;
- MaxNumber of Connection: 數據庫最大鏈接數;
- Max Wait(ms):連接等待時長;
- Time Between Eviction Runs(ms):連接時長;
- Auto Commet:自動提交;
- Transaction Isolation: 事務間隔級別設置;
(1)TRANSACTION_NODE 事務節點 、
(2)TRANSACTION_READ_UNCOMMITTED事務未提交讀、
(3)TRANSACTION_READ_COMMITTED事務已提交讀 、
(4)TRANSACTION_SERIALIZABLE事務序列化 、
(5)DEFAULT默認、
(6)TRANSACTION_REPEATABLE_READ事務重復讀、
7.test while idle :連接空閑時是否從連接池中去除;
8.soft min Evictable idle time(ms):檢驗時間間隔;
9.Validation Query:驗證查詢,檢驗連接是否有效(不同數據庫類型不同);
10.JDBCDriver Class: JDBC的類,如org.gjt.mm.mysql.Driver ;
11.Usename,password :用戶名密碼;
12.Database URL:數據庫地址(格式:jdbc:mysql://ipaddress:3306/dbname?characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000)
步驟三:添加JDBC Request,用來設置獲取數據請求:
1.Variable Name:數據庫的類型(如:mysql);
2.Qurry type:必填,請求類型;(查詢就選擇select,更新就選擇update);
3.parameter values:傳輸給sql請求的數據;
4. parameter type:數據類型;
5.variable name:參數名稱;
6.rusult variable name:查詢到結果數據的表頭名稱;
7. handle result set:將請求結果設置為字符串、對象、或者記錄;
步驟四:調用參數:
1.在腳本中使用${ variable name },即可,如${cd};