Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

时间:2023-03-08 18:55:24

【前言】

今天记录一下Jmeter中JDBC Request和BeanShell PostProcessor的结合使用的方法(SQL模糊查询)

【步骤】

1.下载对应数据库的驱动包到jmeter安装目录的lib文件中,并导入到jmeter的测试计划中(楼主的数据库是Postgresql)

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

2.配置好JDBC Connection Configuration

Variable Name:定义变量名称,作用:说明哪个JDBC Request需要引用此配置 
Database Connection Configutration:输入要访问的数据库信息
  - Database URL:数据库连接的信息

    -详细介绍可以参考下这篇博客: https://blog.****.net/amoscn/article/details/74991924

  - JDBC Driver class:数据库的连接驱动名称 
  - Username:数据库的用户名 
  - Password:数据库的密码 

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

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)

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

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值就可以

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

5.使用JDBC Request进行模糊查询

引用BeanShell中值的固定格式为:${xxxx}

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

6.查询结果展示

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)