jmeter-JDBC配置连接mysql数据库
jmeter-JDBC配置连接mysql数据库
jmeter-JDBC配置连接mysql数据库
一、引言:
jdbc接口的写法:
是一种用于执行sql语句的JAVA API
通过这个api可以直接执行sql脚本
使用jmeter压测接口的时候,有时候需要批量造数据,需使用jmeter连数据库造对应的测试数据。
或者测试结束后,对测试的数据还原,删掉一些垃圾数据,都会用到连接数据库执行sql的操作。
二、数据库驱动包下载与安装
jmeter 连mysql 数据库需安装对应的驱动包,
1.下载
下载地址:
2.安装
下载完成后解压放到jmeter的lib/ext下
重启jmeter
没有要求jar包和数据库版本一致,即不用考虑
三、JDBC的连接配置
添加配置元件-JDBC Connection Configuration
先弄清楚自己的mysql数据库相关信息:
配置连接数据库mysql相关的配置内容
Variable Name for created pool:
自己定义连接数据库的名称,自己知道是连的哪个数据库就行,如:jdbc_web
Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称,
如:jdbc:mysql://localhost:3306/kyj
url后面的参数(可以不写)characterEncoding=utf8&useSSL=true&serverTimezone=UTC
设置时区和编码格式
JDBC Driver class:JDBC驱动,我用的mysql选com.mysql.jdbc.Driver
username:登陆数据库的用户名
passwrod:登陆数据库的密码
JDBC Driver
不同的数据库和驱动连接方式参考下表
四、JDBC request请求
线程组-添加-取样器-JDBC Request
JDBC Request 请求里面写个简单的查询SQL验证下是否能查到数据
Variable Name for created pool 前面自己定义的连接数据库的名称
Query Type: 查询的sql选择 Select Statement选项
Query: 写个查询的SQL select * from cb_account limit 10
jmeter中写sql语句,末尾不建议用;
jdbc request请求中,不支持写多条语句
2.query type
select statement 查询脚本,不带变量参数
updata statement 增删改脚本,不带变量参数
Prepared select statement 查询脚本,带变量参数
Prepared statement 增删改脚本,带变量参数
带变量参数场景,如下图所示,按照下图进行操作
查看结果数,可以查询到数据库表里面的数据
注意事项
JDBC Driver class 选项:
com.mysql.jdbc.Driver 数据库版本8以下使用
当你的mysql数据库的版本是8版本以上Driver class 只能使用
com.mysql.cj.jdbc.Driver
五、JDBC实战
通过sql语句查询数据,通过查询到的数据实现登录的功能
通过sql语句在数据库查询10条数据,查询内容包括:id,mobile,gqid,password,sql语句如下:
select id,mobile,gqid,password from cb_account where password='e10adc3949ba59abbe56e057f20f883e' limit 10 offset 130000
通过查看调试取样器:
上边的这些数据都可以根据下边的需要,去拿取去使用的
查询结果:
下边这些数据,是通过JDBC request—–》variable name下 命名后提取出来的,用于下边登录中使用这些数据,提取的是10条
登录请求需要传参数:mobile 和gqid 和password
因为从数据库提取了10条数据,可以 实现10次登录,
实现结果如下:
1.首先使用循环控制器,目的实现10次登录,但是10次登录的数据不一样,需要动态的传数据,需要用到 拼接函数 _V 和计数函数 *counter
循环次数,也需要引入变量,这个变量,需要来自数据库的vmobile_#或者vid_#或者vgqid* #这些记录了这些数据的总数, 可以作为循环次数
2.循环控制器设置
登录请求放到循环控制器下:
动态参数用到拼接函数 __V 和计数函数__counter,处理如上图所示
3.查看结果树
通过sql语句查询数据,通过查询到的数据实现登录的功能