1. 安装插件
下载mysql-connector-java-5.1.46-bin.jar
下载后放至apache-jmeter-5.0\lib目录下
重启JMeter
2. 测试计划需要导入jdbc驱动包,就是上一步中下载的jar包
3. 添加一个线程组,线程组下添加一个配置元件JDBC Connection Configuration
1)Variable Name for created pool:自定义的一个变量名称,后面会用到
2)Database Connection Configuration
- Database URL:jdbc:mysql://数据库IP地址:数据库端口/数据库名称
例如:jdbc:mysql://ip:3306/数据库名? UseUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC
其中:
serverTimezone=UTC,其中UTC是统一标准世界时间。
解决中文乱码输入问题,可以在database url后面加上?useUnicode=true&characterEncoding=UTF-8。
allowMultiQueries=true指的是支持多行查询
- JDBC Driver class:com.mysql.jdbc.Driver
4. 添加一个取样器JDBC Request
- Variable Name Bound to Pool
与JDBC Connection Configuration中的variable Name一致
- Quary Type
不含变量的sql查询,选择Select Statement
含变量的sql查询,选择Prepared Select Statement
- Quary
sql语句
- Parameter values
sql语句中的占位符?对应的变量值
- Parameter types
变量的类型,参照java.sql.Types中的值
Mysql与java.sql.Types的对应
Mysql | java.sql.Types |
bigint | bigint |
tinyblob | binary |
bit | bit |
enum,set,char | char |
date,year | date |
decimal,numeric | decimal |
double,real | double |
mediumint,int | integer |
blob,mediumblob | blob |
float | real |
smallint | smallint |
time | time |
timestamp,datetime | timestamp |
tinyint | tinyint |
varbinary,binary | varbinay |
varchar,tinytext,text | varchar |
- Variable names
保存查询结果,供后续接口调用,注意调用时加“_1”,可以输入多个变量名称,以英文逗号分隔,其实是将查询的结果,每一字段的值存到一个变量中。
- Result variable name
输入一个变量名称,将整个查询结果存储到该变量中。
- Query timeout(s)
sql语句执行的超时时间。
5. 添加察看结果树和调试取样器
6. 运行并查看结果树
7. 引用上面得到的变量值,就像引用正常的变量一样去引用就行了
将调试取样器的名称改为引用vname变量的值,注意看调试取样器返回的值是带有下标的,引用的时候也要加上对应的下标
8. 查看结果
调试取样器的名称变成vname_1的值“张三”