jmeter数据库连接
一、jmeter配置
- 先下载驱动,对应数据库的jar包。此处以mysql数据库为例,进入mysql官网--点击Download--点击MySQL Community (GPL) Downloads »--选择 Connector/J--
选择platform independent下载。具体步骤如下图示:
2、解压下载的jar包,在测试计划中,导入mysql-connector-java-8.0.29.jar包
二、数据库配置
1、添加配置元件JDBC Connection Configuration
- variable Name for created pool:连接所绑定的变量的名称,存在多个JDBC连接配置时,此属性不能重名,供给JDBC Request调用
- Max Number of Connections:连接池允许的最大连接数。在大多数情况下,将此设置为0。这意味着每个线程具有单个连接的情况下获得自己的连接池,即该连接在线程之前不共享。如果确实需要使用共享,则将最大计数设置为与线程数相同,以确保线程不会彼此等待。
- Max Wait(ms):如果在尝试连接时超过这个时限,将会报错
- Time Between Eviction Runs(ms):空闲连接池被回收的时间间隔。固若没有设置为非正数,则空闲连接回收器将不停地运行(默认为60000,即1分钟)
- Init SQL staements seperated by new line: 创建连接之后执行的sql语句,一般情况下不需要写
- validation Query:校验连接后是否能正常查询,可随意写一个sql语句:select 1.
2、jmeter发起数据库请求
添加JDBC Request
Parameter values:以逗号分隔的参数值列表
Parameter types:以逗号分隔的SQL参数类型列表
Variable Names:以逗号分隔的变量名列表,用于保存返回的值
Result Variable Name 如果指定,这将创建一个包含映射列表的Object 变量。每个映射都包含列名为键,列数据为值。用法如下:columnValue = vars.getObject("resultObject").get(0).get("Column Name");
Query timeout(s):设置查询的超时时间,-1意味着不要设置任何查询超时,这对于用户作者某些驱动程序不支持超时可能是必需的。默认为0,0表示超时时间无穷大
Handle ResultSet:定义如何处理从可调用语句返回的结果集
如下,查询任意两条文章的id,name, desc字段的值
三、对查询的数据处理
1、由于查询了2条数据,对应需要请求两次接口,添加一个循环控制器,循环2次
2、Debug取样器
添加一个调试取样器,用于记录jmeter运行中的变量信息
执行脚本,在调试取样器返回的数据中, id变量由于jmeter需要区分两条数据,变量名变成了id_1, id_2
3、添加一个计数器,定义开始值,递增值,被引用的变量名
id_#的变量名使用,直接${id_n}这种写法是无效的,变量的嵌套使用,需要使用函数助手
4、函数嵌套使用
添加函数助手对话框,选择功能类型为 _V
生成后粘贴到请求参数中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!