学习笔记jmeter之直连数据库(3)
组件位置:测试计划--配置元件--JDBC Connection Configuration(数据库配置连接池)
测试计划--线程组--取样器--JDBC Request
直连数据库:让jmeter直接连接数据库。
之前是通过接口操作数据库,可能出现的问题: 比如查询可能有漏查误查的情况,解决方案是人工比对,效率低且有安全隐患,解决方案:让程序代替人工
基本思路:
1、连接数据库
1) 添加-数据库驱动
2) 添加-JDBC Connection Configuration(数据库配置连接池)
2、发送sql语句请求进行增删改查
1) 添加-线程组
2) 添加-JDBC Request(写sql语句)
3、查看执行sql语句后的数据
1) 添加-察看结果树
4、获取执行sql语句后的数据
1) 添加-Debug Sampler
1、Jmeter 本身不具备直连数据库的功能,整合第三方实现
不同的数据库对应不同的 jar 包实现 (就是连接sqlite3、mysql等不同数据库的驱动jar包,如mysql-connector-Java-5.1.35-bin.jar)
测试计划组件,最下方点击浏览添加下载好的jar包:
2、配置数据库的一些连接信息(JDBC Connection Configuration)
variable name: 给当前连接组件命名,请求需要使用
database url : 数据库路径
Driver Class : 第三程序的启动入口
username: 账号 password: 密码
有点用户自定义变量的意思。把这一串连接的信息放在一个变量里。
3、创建取样器(JDBC Request)连接数据库
属性1 :调用的配置的变量名
属性2 : SQL 语句的类型
select Statement 查询
update Statement 修改(增 删 改)
属性3:执行的 SQL 语句
会同步删除数据库的数据。不用commit操作。
Query Type:Select Statement、Update Statement
1) Select Statement:查询语句时使用
2) Update Statement:(新增、更新、删除)语句时使用
4、结果再处理
就是要将 JDBC 操作的结果取出,并且传递给另外一个取样器
1)、JDBC Request 中设置属性 variable names: 变量名
2)、JDBC Requst 操作数据库时,会将查询的结果赋值给步骤1设置的变量
赋值规则:由于结果可能有多个,第 N 个结果赋值给 变量名_N
变量名_# 表示对应结果个数
上述规则是固定格式: 记住
怎么查询赋值规则: 添加取样器 Debug(调试) Sampler,可以查看底层实现细节
3)、其他取样器使用数据调研格式: ${变量名_N}
把查询到的结果列存储到变量depName中。
然后再传递被其他的请求取样器如http请求调用,如把返回结果的第6个值作为关键字查百度百科相关信息。
(说明:变量名_序号,表示是第几个,jmeter自行把查询结果进行规整,这是内置的取样规则。直接写变量的话,就是把所有返回结果都查一遍。)
debug sampler:不用设置,直接新增取样器,运行后在结果树的响应数据中即可查看查询规则的执行过程。把查询的结果按顺序存放了。
总结:
1. JDBC驱动包
2. 数据库连接池配置
3. JDBC请求
4. Degbeg Sampler
mysql和Oracle的JDBC连接配置:
上图的database URL: 固定前缀:ip:port/数据库名称
测试计划那里需要加载不同的jar驱动包。
上一篇: 02. 函数高级-原型与原型链
推荐阅读
-
SQL学习笔记之 数据库基础(一)
-
Python学习笔记整理3之输入输出、python eval函数
-
SQL学习笔记之 数据库基础(一)
-
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
-
HTML5学习笔记简明版(3):新元素之hgroup,header,footer,address,nav
-
Python学习笔记整理3之输入输出、python eval函数
-
Python3爬虫学习之MySQL数据库存储爬取的信息详解
-
【python3学习笔记】之format格式化字符串
-
Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
-
ROS学习笔记(3)之ros的topic发送与接收简单实例