1.需求:Jmeter------将JDBC Request的查询结果作为另一个JDBC Request请求参数
2.准备:Jmeter 5.1.1 可连接的数据库(如测试环境) JDBC驱动包 (下载地址指南:https://blog.csdn.net/qq_41950447/article/details/90085170 Java连接MySQL mysql-connector-java-bin.jar驱动包的下载与安装 ),将驱动包放入jmeter的lib/ext目录下
3.jdbc请求A和jdbc请求B
4.测试计划----选择浏览---加载
5.新建一个线程组→JDBC Connection Configuration(连接数据库组件)→配置JDBC Connection Configuration
Variable Name:自定义填写
Validation Query:下拉框选择select 1
Database URL:数据库url
jdbc:mysql://{ip}:{port}/{dbname}?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
ip:数据库服务器地址 port:mysql端口号 dbname:数据库名
useUnicode=true 使用Unicode编码格式(字符集编码格式)
characterEncoding=utf8 使用UTF-8解码(字符集编码格式)
allowMultiQueries=true 允许多个query一起使用(1个请求中添加多个sql语句)
6.将查询语句sql参数化
使用CSV元件,将语句对应的部分替换成CSV文件中内容(与http请求参数化方式一样)
我的文件内容:
id
lm_id
user_name
id_card_no
7.新建JDBC Request(JDBC请求)
JDBC请求A截图:
Variable Name:与JDBC Connection Configuration中的Variable Name保持一致
Query Type:语句类型,查询用select,增删改用update,一起用可以选择callable
Query:填写对应的语句(这里用了一个简单的查询语句作为示例)
jdbc请求A设置:
test1,test2,test3,test4是因为我返回的内容有4列,这四个是来从这4列的值
test1_1=代表是第一列第一行的值
test1_2=代表是第一列第二行的值
test2_1=代表是第二列第一行的值
test2_2=代表是第二列第二行的值
8.再添加一个后置处理器--调试后置处理程序,用来查看取值结果
目的:把请求A的响应的值test2_2的值放入请求B的入参里
9.添加jdbc请求B
10.查看结果数
取值成功!