一、连接MQSQL数据库
1、下载mysql jdbc驱动包。jmeter要连接mysql数据库,首先得下载mysql jdbc驱动包,尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。官网下载地址为:https://dev.mysql.com/downloads/connector/j/
下载之后解压放到本地目录~
查看数据库版本:可以在连接数据库的工具中输入SELECT VERSION() 执行后即可查看你的数据库版本
2、准备好驱动包后,需要把jdbc驱动jar包引入测试计划。
点击测试计划-->点击浏览-->选中mysql驱动jar包-->打开,如下图所示:
3、配置JDBC Connection Configuration
在线程组下新建一个JDBC Connection Configuration配置元件,需要用到这个元件来完成数据库的连接,详细配置如下图所示:
这里我们主要关注Variable Name Bound to Pool 和Database Connection Configuration两部分内容,其他字段可以保持默认值
Variable Name:数据库连接池的名称,在JDBC Request中会用到;
Database URL:数据库URL,jdbc:mysql:// IP地址:端口/库名;
JDBC Driver Class:JDBC驱动
Username:数据库用户名;
Password:数据库密码;
4、配置JDBC Requests
上面我们已经完成了对数据库的连接,但要完成对数据库操作的话呢,还需要新建一个取样器JDBC Request,如下图所示:
Query: 填写要被执行的SQL语句
Parameter values:参数值
Parameter types:参数类型
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
至此一个最简单的jmeter连接mysql数据库的脚本就基本准备好了,接下来添加一个监听器:察看结果树 ,然后运行脚本即可,结果如下图所示:
二、JDBC REQUESTS参数化
方法(一):自定义用户变量,然后进行引用
1.在测试计划界面【用户定义的变量】里定义需要的变量
2.在JDBC Request界面SQL Query输入框中以${变量名}的形式引用变量
或者也可以在JDBC Request里添加一个用户定义的变量
点击JDBC Request --> 点击添加,点击配置元件,点击用户定义的变量
然后定义需要的变量,如下图所示
方法(二):在被执行的SQL语句中使用“?”作为占位符,并传递参数值和参数类型,其中,传递的参数值有常量和变量之分。
1、当传递的参数值是常量时,如下图所示,传入的订单号:
2、当传递的值是变量时,如下图中的所示:
至于这里引用Variable names时,为什么在变量名后面加了一个“_1”,是因为查询到的结果是一个列表,所以不管它查询的是一条还是多条数据,都要通过下标去取它的值,写法就是:变量名_下标。
比如:
id | name |
100 | Mike |
101 | Jane |
sql语句返回2行2列,id和named的Variable names设置为A、C,那么要取name为Mike的值,就设置为C_1,取name等于Jame的值,就设置为C_2。