1、数据库驱动类和URL格式:
Database | Driver Class | Database URL |
Mysql | com.mysql.jdbc.deiver | jdbc:mysq://IP:端口号/{数据库名称} |
2、调用jar包
方式一:将Mysql的JDBC驱动jar包下载复制到jmeter的lib目录下,包的下载地址: https://www.mysql.com/downloads/,下载完成之后解压并放在jmeter的lib目录下
方式二:在测试计划中直接引入jia包,点击浏览,选择已下载的jar包,如下图所示:
3、配置JDBC Connection Configuration
主要关注Variable Name for created pool和Database URL,其他字段可以保持默认值
Variable Name for created pool:数据库连接池的名称,后续配置还会用到这个名称
Database URL:数据库的URL
我在本地安装了mysql,所以使用的localhost,同时还添加了时区,下面是我的设置:
jdbc:mysql://localhost:3306/test_db?derverTimezone=Asia/Shanghai
JDBC Driver class:JDBC驱动
Username:要连接的数据库名称
Password:要连接的数据库密码
4、配置JDBC Request
Variable Name of Pool declared in JDBC Connection Configuration 要与JDBC CONNECTION CONFIGURATION 中的Variable Name for created pool的名称保持一致
Query:填写要被执行的SQL语句
Parameter values:参数值
Parameter types:参数类型
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量。保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理callable statements语句返回的结果
5、配置JDBC 参数化
方式一:
1)需要将Query type改为prepared Select Statment
2)Query中将需要参数化的值改为?
3)Parameter values:91,Parameter types:int,Variable names:return
(执行时,int报错了,提示:Invalid data type: int,改为varchar后,执行成功,我目前不知道报错原因)
int数据类型的执行结果:
varchar的执行结果
方式二:添加元件用户定义的变量
1)将条件值设置为参数
2)在JDBC Request的Query中使用${变量名}进行调用,同时,Parameter values、Parameter types需要清空;若条件值为字符型,那么在调用时,需要用双引号
6、Variables names参数使用方法
Variable names:保存sql语句返回结果的变量,如果给这个参数设置了值,会保存sql语句返回的数据和返回数据的总行数
Id | Name | Phone |
A_1 | B_1 | C_1 |
A_2 | B_2 | C_2 |
假如,sql语句返回2行,3列,且Variables names 设置为A、B、C,那么如下变量会被设置为:
A_#=2(总行数) A_1=第1列,第1行 A_2=第1列,第2行
B_#=2(总行数) B_1=第2列,第1行 B_2=第2列,第2行
C_#=2(总行数) C_1=第3列,第1行 C_2=第3列,第2行
我这里利用前面的元件用户定义的变量,设置变量名为G,值为75,即查出成绩为75的学生信息
在JDBC Request中使用${G}调用,我的表中有三列,分别为id、name、grade,故我在Variable names中设置了三个返回值名称分别为:ID、NAME、GRADE
使用java request检查调用结果:
在查看结果树中查看结果:
学习自B站-测马软件测试官方-性能测试
https://www.bilibili.com/video/BV1Sv411w7wy?p=27