jmeter实现jdbc查询传参

需求:

需要对设备进行批量删除操作,被删除的数据通过查询数据库得来,删除操作通过删除设备接口执行

思路

	1、使用jmeter的jdbc插件,通过JDBC request 获取sql查询结果,保存到变量中
	2、在删除设备的取样器中,引用jdbc查询结果的变量,循环调用删除接口删除设备
	3、循环可以通过循环控制器和foreach循环两种方式实现

(一)第一种方法:使用循环控制器

操作
1、我使用的数据库是mysql数据库,因此需要先准备mysql的驱动。将准备好的mysql-connector-java-8.0.20.jar保存到D:\apache-jmeter-5.2.1\lib\ext(放在jmeter的安装目录\lib\ext文件夹)中
在这里插入图片描述
2、重启jmeter
3、配置jdbc连接池
在线程组下添加配置原件JDBC Connection Configuration,并填写相关信息,如下图
在这里插入图片描述

4、创建jdbc request取样器,用于获取sql查询结果,如下图
在这里插入图片描述
说明:查询结果的行数,会保存到变量diviceId_# 变量中,查询结果的第一行字段值,会保存到变量deviceId_1中,查询结果的第二行字段值,会保存到变量deviceId_2中,依次类推。

5、创建一个循环控制器,循环次数为${deviceId_#},如下图
在这里插入图片描述
6、创建一个计数器,用于控制取字段的第几行的值。如下图
在这里插入图片描述
7、创建http取样器,用于执行删除设备接口。如下图

在这里插入图片描述
其中:deviceId作为参数在请求路径中,这里用到了一个函数嵌套的函数:${_V(deviceId${index})}

7、查看执行结果
jdbc request取样器查询结果
在这里插入图片描述

在这里插入图片描述

(二)第二种方法:使用foreach循环

操作步骤:
1、配置jdbc连接池和创建jdbc request取样器步骤同上
2、创建一个foreach循环控制器,控制循环的次数,也就是查询结果的行数。如下图

注意:
	1)、开始循环字段从0开始。
	2)、结束循环字段填写:${deviceId_#},也就是jdbc取样器的查询结果中的行数,保存在变量deviceId_#中
	3)、输出变量名称为id,给下一个http取样器使用。

在这里插入图片描述

3、创建一个http取样器,用于删除设备
如图:
在这里插入图片描述
4、结果查看

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值