Jmeter高阶系列--JDBC协议

1 概述
Jmeter支持多种服务协议,包括:HTTP/HTTPS,SOAP,Java,TCP,JDBC,JMS等,虽然我们使用最多的是HTTP/HTTPS协议,但其实JDBC协议在苍穹用处很大。
使用JDBC协议可以实时从数据库获取数据,对数据进行不同的参数化处理后,脚本在运行时可以根据需要引用参数名作为输入,实现不同场景的使用。
通过JDBC协议获取的数据属于动态数据,不同于静态数据参数化,动态数据参数化可提高脚本可移植性,增加脚本的寿命,减少维护周期和维护成本。
如何通过JDBC协议获取数据呢?
2 操作步骤
2.1 添加数据库驱动
添加驱动的方式有两种,可在测试计划中添加驱动jar包的路径,还可以将驱动jar包放入至Jmeter安装路径的\lib\ext文件夹下。
驱动版本需根据数据库及其版本进行匹配。
下图是添加mysql驱动:mysql-connector-Java-8.0.20.jar。

2.2 添加JDBC Connection Configuration
在添加好数据库驱动后,接下来添加JDBC Connection Configuration,具体操作如下:

2.3 填写配置信息
重点关注名称(需保持与后续的JDBCRequst的名称一致),Database URL,JDBC Driver class(驱动),用户名和密码。

2.4 发送JDBC Request请求
发送JDBC Request请求,执行sql语句获取数据库的数据。
得到的数据自动成为Jmeter变量,可供Jmeter调用和操作。

2.5 查看JDBC请求结果
通过组件“查看结果树”,查看JDBC请求的响应。
如下图,JDBC请求返回结果列出了从数据库表得到的1999个fid值。

2.6 Debug Sampler
在上一步中,JDBC请求后,可在查看结果树中查看请求结果,通过sql语句从数据库得到fid值,这些值可作为请求和计算的数据来源。
在JDBC请求中填写过一个输出变量-- materialFidQ1(本文第四步),但在Jmeter中不能直接引用materialFidQ1,那该如何解决呢?
Jmeter有它特殊的调试工具--DebugSampler。DebugSampler能打印出Jmeter变量,引用的参数名及参数值。
Jmeter高阶系列--JDBC协议
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



