Jmeter基础005----Jmeter直连数据库
一、Jmeter直连数据库
1、概述
Jmeter直连数据库就是让Jmeter直接和数据库交互。之前是通过接口操作数据库,可能会出现问题,例如:查询可能有漏查、误查的情况,解决方案是人工比对,效率低且有安全隐患。我们可以用程序代替人工,通过Jmeter直连数据库,输入SQL语句进行查询。
2、实现过程
(1)Jmeter本身不具备直连数据库的功能,但是我们可以整合第三方实现。因为不同的数据库对应不同的驱动Jar包实现,在这里我们可以根据自身需要下载对应数据库的驱动jar包,并在测试计划中添加对应jar包的地址路径,如下图所示:
(2)配置数据库连接信息:测试计划右键----添加----配置元件-----JDBC Connection Configuration,创建JDBC连接配置组件,配置数据库的连接信息,如下图所示:
- variable name:给当前连接组件命名,在HTTP请求中需要使用
- database url:数据库路径
- Driver Class:第三方程序的启动入口
- username:数据库登录账号
- password:数据库登录密码
(3)线程组右键----添加----Sampler----JDBC Request,创建取样器(JDBC Request)连接数据库,如下图所示:
- Variable Name:调用的配置的变量名
- Query Type:SQL语句的类型-----select Statement 查询; update Statement 修改(增、删、改)
- Query:执行的SQL语句
(4)执行JDBC Request,查看结果树展示。
二、JDBC结果再处理
1、结果再处理:
结果再处理就是将JDBC操作的结果取出,并且传递给另一个取样器。
2、实现过程:
(1)JDBC Request 中设置属性variable names:变量名,用于下一个请求调用。如下图所示:
注:
- JDBC Request操作数据库时,会将查询的结果赋值给设置的变量
- 赋值规则:由于结果可能有多个,第N个结果赋值为:变量名_N(固定格式);
- 变量名_#:表示符合条件的结果的个数
- 查询赋值规则:线程组右键----添加----Sampler-----Debug(调试)Sampler,添加取样器Debug(调试)Sampler,可以查看底层实现细节。如下图所示:
(2)创建百度查询的取样器,在百度输入框输入depName的值,进行查询,数据调用格式:${变量名_N},如下图所示:
(3)运行测试计划,查看请求结果。
三、总结
1、概念:Jmeter 直接操作数据库数据,通过直接操作数据库和接口操作比对
2、实现:
(1)Jmeter不具备直连数据库的功能,先整合第三方实现:测试计划中导入对应的数据库连接驱动
(2)Jmeter配置数据库连接信息:数据库URL +驱动名称+账号+ 密码+该配置的变量名
(3)创建JDBC请求:要素1 调用配置的变量名; 要素2 设置SQL类型; 要素3 编写SQL语句
(4)结果再处理:可以将结果赋值给变量(JDBC Request : variable names)
- 赋值规则:变量名_ #结果个数; 变量名_ _N第N个结果
- 可以通过Debug Sampler 查看底层赋值实现