Jmeter(14):jmeter连接数据库

jmeter连接mysql数据库

大致步骤如下:

1、下载mysql的jar包放入到jmeter的lib下,然后重启jmeter

2、配置JDBC Connection Configuration

3、配置JDBC Request

4、在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:${__V(tname_${index})}


 

1、首先需要准备个Mysql jdbc驱动包

尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。

mysql官网下载地址:https://dev.mysql.com/downloads/connector/j/

JDBC驱动在mysql的官网下载:https://dev.mysql.com/downloads/file/?id=477058,不需要注册,直接点击左下角的小字

2、在测试计划下面把JDBC驱动包导入,如下图

 

 

 

 

3、线程组下添加一个配置元件JDBC Connection Configuration。

 

 

Variable Name:自定义参数,在JDBC Request中会用到;

Database URL:jdbc:mysql:// 数据库IP地址:数据库端口/数据库名称;jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8,注意:?后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误。

JDBC Driver Class:com.mysql.jdbc.Driver;

Username:数据库用户名;

Password:数据库密码;

4、在添加一个Sampler:JDBC Request

 4.1、由于只需要在数据库中取一次数据,即 jdbc取样器只需要执行一次,可以使用仅一次控制器;如下图:

配置路径:逻辑控制器——仅一次控制器

 

 

5、运行之后,数据库会返回某一列下的数据

 

6、在http请求中引用tname变量名,如果有一列数据返回,引用变量的时候可以输入${tname_1},发送请求的参数值就是 周启元

variables names 参数使用方法:

Jmeter官网的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,C,那么如下变量会被设置为:

A_#=2(总行数)

A_1=第1列,第一行;如上面的变量${tname_1};

A_2=第1列,第2行

C_#=2(总行数)

C_1=第3列,第1行

C_2=第3列,第2行

如果返回结果为0,那么A_#和C_#会被设置为0,其他变量不会设置值。

如果第一次返回6行数据,第二次只返回3行数据,那么第一次的6行数据变量会被清除

可以使用${A_#}、${A_1}...来获取相应的值

7、如果想循环数据库返回的值,可以使用计数器,加引用的变量${__V(tname_${index})};如下图

根据上方数据库返回的tname列下有9行数据,在计数器中最大值填入9,在输入一个变量名index;

 

在http请求中引用数据量返回的变量+计数器的变量:${__V(tname_${index})};

 

 

8、运行结果

 

posted @ 2022-03-21 17:07  奔跑在路上you  阅读(2222)  评论(1编辑  收藏  举报