网上很多Jmeter连接postgresql数据的资料,大多是2.0和3.0的。这里是4.0的。因为是自己一步步从坑里迈出来的内容会比较详细。适合新手学习。
1、Jmeter连接postgresql数据库是需要jar包的。而且该包的版本与JDK的版本要对应。注意不是与Jmeter的版本对应。三者对应关系如下:
Jmeter | JDK | postgresql驱动包 | postgresql版本 |
4.0 | 1.8以上及JDK 8或JDK 9 jdk-8u181-windows-x64.exe(推荐) |
postgresql-42.2.5.jar(对应JDK 8及以上) | 9.6.8 |
有了对应版本这个工作基本完成了一半。这些文件包在网上有连接,这里不一一给出。
说明:Jmeter4.0版本要求JDK 8.0以上,postgresql驱动包 JDK 8.0以上的只有postgresql-42.2.5.jar。
postgresql的版本没有做具体要求,建议至少9.5以上。
将下载的postgresql驱动包放在bin文件夹下,以我的路径为例:
D:\apache-jmeter-4.0\apache-jmeter-4.0\bin
2、连接postgresql准备
连接postgresql数据库之前,最好使用Navicat for PostgreSQL工具连接试试该数据是否是可用的。数据库的相关参数是否正确。
平台数据库(PostgreSQL)参数如下: #斜体IP表示 具体IP地址根据环境适配,下同
地址及端口:IP:5432
实例名:hdsc_db
登录账号/密码:hdsc_postgres/hdsc_postgres
测试数据库连接正常。
3、配置Jmeter连接postgresql数据库
在测试计划中配置postgresql数据库驱动包的路径(Jmeter3.0这里貌似不需要,4.0必须配)
创建JDBC Connection Configuration,配置数据的参数
参数说明:
Variable Name for created pool:名字随意,需要与下文的对应Variable Name of Pool...
Database URL:数据库URL地址,?后面参数选填,标示使用UTF-8编码,适用于含中文的情况。
JDBC Driver class:固定参数,postgresql数据专属配置。在下拉框中选择。
username:数据库名称
password:数据库密码
创建JDBC Request,向数据库发起sql查询
参数说明:
Variable Name of Pool...:对应上文的Variable Name for created pool
Query Type:选择SQL语句的类型
空白区:sql语句
4、执行结果:
因为我们的数据交换是使用Json格式获取的,显示的时候选择JSON Path Tetser,请求显示的结果应与数据查询的值一致。
5、结语:Jmeter连接数据库往往是需要获取数据库的内容作为其他测试的前置或者后置参数,所以还需要学会正则表达式提取参数。关于正则表达式请参考其他资料。