【前言】
今天記錄一下Jmeter中JDBC Request和BeanShell PostProcessor的結合使用的方法(SQL模糊查詢)
【步驟】
1.下載對應數據庫的驅動包到jmeter安裝目錄的lib文件中,並導入到jmeter的測試計划中(樓主的數據庫是Postgresql)
2.配置好JDBC Connection Configuration
Variable Name:定義變量名稱,作用:說明哪個JDBC Request需要引用此配置
Database Connection Configutration:輸入要訪問的數據庫信息
- Database URL:數據庫連接的信息
-詳細介紹可以參考下這篇博客: https://blog.csdn.net/amoscn/article/details/74991924
- JDBC Driver class:數據庫的連接驅動名稱
- Username:數據庫的用戶名
- Password:數據庫的密碼
3.添加JDBC Request(需要執行的SQL語句)
Variable Name:輸入需要引用的JDBC配置(當前輸入的數值與JDBC Connection Configuration相同的名稱),兩者的變量名稱是需要一致的 ,就代表引用哪一個數據庫連接
Query Type:輸入查詢的類型(默認選擇Select Statement)
詳細介紹可以參考下這篇博客:https://www.cnblogs.com/imyalost/p/6498029.html
Restult Variable name:將所查詢的結果放到此結果集中(result)
4.從BeanShell PostProcessor中取出結果集
取出結果集中的數據:
columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”);
- vars.getObject(“resultObject”):代表從哪個結果集中取數據
- get(0):取第幾行
- get(“ColumnName”):取哪一列(哪一列即為JDBCRequest查詢結果中的字段名)
備注:
1. columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”),返回的類型是Object類型。
2 需要將Object類型轉換成String類型(取出對象的名稱.toString())。
例如:columnValueResule.toString()),其中columnValueResule是取出的對象名稱
3 取出來的變量放到jmeter中,用此方法:vars.put(“key”,Value)。
例如:vars.put(“xxxx”,DBclassname.toString());如果要引用此查詢語句的結果,只需要引用key值就可以
5.使用JDBC Request進行模糊查詢
引用BeanShell中值的固定格式為:${xxxx}
6.查詢結果展示