jmeter连接数据库并参数化

前提:一个简单的数据库连接,并将查询出的数据参数化为下一个接口的请求数据~
一、所用到的组件:
配置元件: JDBC Connection Configuration (数据库连接的配置)
取样器:JDBC Request (数据库请求,sql语句及返回信息的配置)
逻辑控制器:ForEach控制器 (配合‘用户定义的变量’来使用,作用是参数化;)
取样器:Dubbo Sample (我这是dubbo接口,用的是dubbo的请求组件;)

二、组件配置
(1)、需要依赖的mysql jar包 ,需要放到 jmeter的lib下面;
网盘下载地址链接:https://pan.baidu.com/s/1EP4R2k3zan7xiKb4vWoCTw 密码:cony
在这里插入图片描述
(2)、配置元件: JDBC Connection Configuration
在这里插入图片描述
1: 填写入一个变量名,需要和用到的JDBC request 中,或者JDBC PreProcessor,或者JDBC PostProcessor中的变量名一致;一个测试计划中可以绑定多个DB源;
我这里填入的是数据库的库名;

2:上面2个字段一般默认,Validation Query 一般选择 select 1

3:数据库连接的配置,将数据库url/port/db name/用户名和密码等填入
Database URL :jdbc:mysql:// ip:端口号/数据库名
JDBC Driver class :com.mysql.jdbc.Driver (注:mysql数据库按需选择)
Username :数据库连接名
password :数据库连接密码

(3)、配置元件: JDBC Request
在这里插入图片描述
在这里插入图片描述
(4)、可运行看看数据库相关配置是否OK
数据成功返回
(5)、请求接口配置(我这是dubbo接口,用的是dubbo的请求组件Dubbo Sample;http同理)
取数据库的值
接口完整请求数据
接口返回正确
参数直接设置为 ${参数名_1};代表取值为 返回的参数 (参数名) 列的第二行;
如: ${order_1}:orderNo列的第2行;
${order_2}:orderNo列的第3行;
…以此类推;(0开始计数)
注:不能直接用 ${orderNo} 加线程组循环,来循环访问;得用ForEach控制器,见(6);

(6)、参数化 — ForEach控制器
介绍参考: https://www.cnblogs.com/yanzhe/p/7729774.html  ForEach控制器
输入变量前缀:为JDBC Request 配置返回的列名
开始循环字段(不包含): 0 代表返回的第一列;不包含0代表不包含返回的第一列;这里第一列为列名
结束循环(含):代表在 第N-1列结束循环(是从0开始计数)
输入变量名称: v_orderNo
循环第一次时代表 v_orderNo = orderNo_1
循环第二次时代表 v_orderNo = orderNo_2
…以此类推;满足了我们循环返回orderNo列的需求

最后一步,将接口请求中的参数改为 ForEach控制器中的 输入变量名: ${输出变量名}
在这里插入图片描述
(7)请求,查看结果树
最终运行结果

引用文章及参考文章:
https://blog.csdn.net/tester_xjp/article/details/80859925
https://www.cnblogs.com/qianjinyan/p/10244345.html
https://www.cnblogs.com/yanzhe/p/7729774.html

——————————————1113更新————————————————————————————
jmeter链接数据库进行增删改查
在这里插入图片描述
在这里插入图片描述
1、主要设置 query Type
2、输入区域输入对应的sql语句

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值