Jmeter——JDBC Connection Configuration参数化

在昨天Jmeter配置元件——CSV DataSet Config参数化一文中,有提到,在参数化时,还可以使用JDBC Connection Configuration配置元件实现,具体如何实现,如何操作,且听详解。

jar包下载

在Jmeter 中想用到连接数据库的功能,必须下载jar包,下载地址

下载好了jar包,如何使用呢?使用方式有二。

其一:下载的jar包保存在非Jmeter的lib下的ext目录下,则需要在Jmeter工程中测试计划元件下指定jar包路径,如下图所示

其二:下载的jar包保存在Jmeter的lib下的ext目录下,则不需要做其他的配置了,也不用担心以后给其他电脑copy文件,忘记copy某个文件夹了【个人推荐这一种方式】

基础配置

我们首先来看界面,如下所示:

根据上图来了解,我们可以把配置界面分成五部分:

1,名称和注释,可随便填写;

2,Variable Name for created pool,Variable Name是定义变量名。填写一个变量名,需要和用到的JDBC request,或者JDBC PreProcessor,或者JDBC PostProcessor中的变量名一致。可知,一个测试计划中可以绑定多个DB源;

3,Connection Pool Configuration,关于数据库连接池的配置,在一般使用中,默认即可;但是想压测,单独负载测试DB,想找出DB最适合的连接池,就要稍加注意;

4,Connection Validation by Pool,在一般使用中,默认即可,Validation Query 一般选择 select 1;

5,Database Connection Configuration,数据库连接配置,在这里着重讲解。数据库连接的配置,将数据库url/port/db name/用户名和密码等填入。jmeter还支持以下几种连接方式:

参数化

参数化一:正则表达式提取

使用JDBC Request请求方式,查询数据,并使用正则表达式提取唯一值,实现参数化,脚本实现如下:

运行脚本,查看结果,如下所示:

参数化二:引用JDBC Request请求变量名

在JDBC Request请求中,配置变量名,配置如下:

运行脚本,查看结果,数据库查询到2个name值,如下:

通过Debug Sampler查看到2个name分别对应的变量名为:

所以脚本参数化调整如下并运行:

参数化三:变量名循环

我们在参数化方式二中,通过Debug Sampler查看,有个变量为name_#的字段,由于查询到2个值,所以等于2,。如果数据库中有很多数据,而且要一一参数化的情况下,难道我们要重复写那么多次的接口吗?答案当然不是,可以引用name_#字段,做为循环次数即可,我们来细看。

①增加循环控制器

我们先增加一个循环控制器,并引用变量值,配置如下:

②增加计数器

再增加一个计数器,定义每次递增值,而来控制循环次数,配置如下:

③引用变量名

按以前引用写法,可能会直接写${name_${name}},但是jmeter中不支持这种写法,所以在这里,需要引进另一个函数,${__V()},参数引用如下:

④查看结果

运行脚本,查看结果如下:

 

 以上就是今天分享的参数化内容了,我们可以看出,方式三更适用于实际业务当中,个人也推荐这种方式。

posted @ 2019-12-28 18:31  温一壶清酒  阅读(1364)  评论(0编辑  收藏  举报