在项目测试过程中,我经常需要将数据库中的数据作为参数传递到请求中。Jmeter中MYSQL数据库连接操作过程如下:

1、下载/n导入mysql的jdbc驱动包
导入mysql的jdbc驱包
将下载的mysql-connector-java-8.0.17.jar包直接复制到jmeter的lib目录下,重启jmeter。
2、添加MYSQL数据库连接配置(JDBC Connection Configuration)
右击“线程组”,选择“添加”\“配置元件”\“JDBC Connection Configuration”

设置“JDBC Connection Configuration”

字段解释:
Variable Name for created pool:数据库连接池的变量名,后续请求中需要用到
Database URL为数据库的JDBC连接字符串
JDBC Driver class 为驱动类名称,需将对应jar包放入到jmeter's/lib目录下
Username :数据库用户名
Password:数据库账号对应的密码
3、创建数据库操作请求
右击“线程组”,选择“添加”\“取样器”\“JDBC Request”

填写JDBC请求数据
在JDBC Request 的执行语句中输入:select userName,age from user ,Variable names输入 p1,p2,p1,p2分别对应SQL中的userName,age。

Variable Name of Pool declared in JDBC Connection Configuration:填入在“JDBC Connection Configuration”中设置的“Variable Name for created pool”名称;
Query:输入SQL查询语句;
Variable names:将查询结果设置为变量名,供后续请求调用;
4、数据添加到HTTP请求中
由于查询出的数据库量非常,我们需要将数据每次传递一个值,以次递增。添加调试取样器,执行脚本,获取记录总数。
添加计数器,右击“线程组”,选择“添加”\“配置元件”\“计数器”;

设置如下:

Starting value:1每次执行从第1个开始;
递增:迭代使用中自动增1
Maximum valud:${p_#}(数据查询的记录数,可以通过上面调试取样器获取)
引用名称:设置为变量名
添加HTTP请求,获取数据库的数据进行参数化。由于变量名称本身就是一个变量这个时候就需要使用V函数进行变量名称拼接。

u_${index}:u:数据库返回数据中的变量名,index是计数器中的变量名称。将生成的变量名添加到参数值中。
添加结果树,启动,通过结果查看请求参数。数据库数据传递成功。

本文介绍了如何在JMeter中配置MySQL数据库连接,执行SQL查询并将结果参数化到HTTP请求中。通过添加JDBCConnectionConfiguration设置数据库连接,使用JDBCRequest执行SQL,然后利用计数器进行数据遍历,实现对大量数据库记录的逐条传递。
855

被折叠的 条评论
为什么被折叠?



