在工作的过程中,有时候需要对数据库发起请求或者对数据库压力测试,这个时候就需要用到JMETER JDBC Request,今天这一堂课我们重点介绍JMETER JDBC Request,一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息

jmeter中取样器(Sampler)是与服务器进行交互的单元。

JMETER JDBC Request

JDBC Request可以向数据库发送一个请求(包括:select  update  delete insert 语句),JDBC Request 需要先配置JDBC Connection Configuration ,配置数据库的连接信息。

首先,先建立一个测试计划,添加线程组

jmeter  JDBC Request_JDBC Request

线程数为1,线程组右键单击选择配置元件→ JDBC Connection Configuration(JDBC连接配置)

jmeter  JDBC Request_jmeter_02

 

JDBC Connection Configuration界面如下:

jmeter  JDBC Request_采样器_03

 

 

Variable Name(变量名):这里写入数据库连接池的名字

Database URL:数据库连接地址

JDBC Driver class:数据库驱动(可以将需要连接的数据库驱动jar包复制到jmeter的lib/目录下,需重启JMETER,然后在设置测试计划界面,最下面的Library中导入)

jmeter  JDBC Request_jmeter_04

 

Username:数据库登录名

Password:数据库登录密码

简单介绍一下不同数据库的驱动类和URL格式:

jmeter  JDBC Request_JDBC Request_05

设置好JDBC连接配置后,添加JDBC请求,界面如下:

 

 

Variable name:这里写入数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )

Query:里面填入查询数据库数据的SQL语句(填写的SQL语句末尾不要加“;”)

parameter valus:数据的参数值

parameter types:数据的参数类型

cariable names:保存SQL语句返回结果的变量名

result cariable name:创建一个对象变量,保存所有返回结果

query timeout:查询超时时间

handle result set:定义如何处理由callable statements语句返回的结果

 

先在mysql 数据库中间执行select * from plf_users 语句,具体查询结果如下:

jmeter  JDBC Request_采样器_06

设置完采样器之后,为了方便查看请求运行结果,添加监听器,来查看我们的请求是否成功了,下面截图为请求内容,即SQL语句。

jmeter  JDBC Request_jmeterjdbc 采样器_07

察看结果树查看响应数据,正确的显示查询的该表的对应字段的数据,把响应数据跟之前数据库中间的数据进行比较。该select 查询出所有的字段信息。

jmeter  JDBC Request_采样器_08

 

以上只是对JDBC Request 中间select 请求进行讲解, JDBC Request 中间是支持update delete insert 请求,下面简单介绍delete 请求,Query Type 需要改成“Update statement”。

jmeter  JDBC Request_jmeter  JDBC_09

 

 

然后,监听器察看结果树中间查看请求和响应情况

jmeter  JDBC Request_采样器_10

响应数据中间提示 1 update 为数据库中间 ,更新记录条数

jmeter  JDBC Request_jmeterjdbc 采样器_11

访问mysql 数据库 查看 plf_notice 表中间 id=5 的记录是否已经删除,经查询id=5 的记录已经删除

jmeter  JDBC Request_采样器_12

 

Update insert 请求就不在做讲解,可以自己动手操作,经验证JDBC 请求sql 语句不支持别名格式,比如:delete from plf_notice p where p.id=4;

jmeter  JDBC Request_JDBC Request_13

 

响应会报:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'p where p.id=5' at line 1 错

jmeter  JDBC Request_采样器_14

 

 

如果你觉的文章阅读不过瘾,可以查看详细的视频教程

【软件测试全栈系列课程】请点击我哦…

 https://edu.51cto.com/course/25359.html

【博主完整视频课程系列】请点击我哦…

 https://edu.51cto.com/lecturer/13226632.html

【JMETER基础和实践课程】请点击我哦…

 https://edu.51cto.com/course/28017.html

【JMETER 性能测试基础与项目实战视频课程】请点击我哦…

 https://edu.51cto.com/course/16055.html

【Jmeter+ant+jenkins接口层性能与自动化测试课程】请点击我哦…

 https://edu.51cto.com/course/19323.html

【零基础新手入门软件测试基础课程】请点击我哦…

 https://edu.51cto.com/course/27846.html

【软件测试之移动端测试系列课程】请点击我哦…

 https://edu.51cto.com/course/26878.html

【Fiddler接口抓包神器使用教程】请点击我哦…

 https://edu.51cto.com/course/28066.html