有时我们需要用Jmeter连接数据库去验证API返回内容。
这里主要介绍如何创建数据库连接并且获取数据比对。以mysql为例
1、首先需要将连接mysql数据库的jar包(mysql-connector-java-5.1.46.jar)放到jmeter安装目录的此路径下:apache-jmeter-5.1.1/lib/ext. 并重启jmeter(不然不生效)
2、在jmeter中创建JDBC连接:
在线程组上右键添加-》配置元件-》JDBC Connection Configuration
填写连接信息:
以下信息是必填项(可以找开发要)
3、创建JDBC 请求,验证连接是否成功
线程组上右键选择添加-》取样器-》JDBC Request
在JDBC请求中记得填写连接池名称,写个查询SQL测试一下
执行,连接数据库成功,可以正确查到数据:
那么怎么对比API返回数据和数据库查到数据呢?
举例说明,JDBC里边用SQL查询3个字段,trade_sn,goods_price,ship_name, 提交订单API返回里也有这3个字段,我们来看如何实现对比
1、首先还是在JDBC Request里边填写sql,并定义变量
2、添加JSON提取器,提取API返回的这3个字段,可以参照 https://www.jianshu.com/writer#/notebooks/55719023/notes/125050968
3、添加BeanShell断言
在JDBC请求上右键添加-断言-》BeanShell断言:
在脚本框中写java脚本即可,从底部可以看到jmeter提供了内置变量,vars(参数),Failure,FailureMessage,Log,这几个是我们主要用到的
执行成功,在调试取样器中我们可以看到变量的具体值。调试取样器的添加方法:在测试组上右键添加-》取样器-》调试取样器