一、思路总结
如果要进行接口返回数据与数据库查询的结果进行校验的话,需要将比对的数据从接口返回结果和数据库查询结果中取出,利用BeanShell断言进行比对判断
- 从返回的结果中提取数据:使用正则表达式提取
- 从数据库中提取数据:使用JDBC Request
- 数据比对:使用BeanShell断言
二、实操
1、提取响应参数
查看响应数据
通过正则表达式提取
- 线程组-添加-后置处理器-正则表达式提取器
2、提取数据库参数
- 导入mysql-connector-java-8.0.11.jar包到Jmeter lib目录下,链接:下载
配置数据库
- 配置数据库连接:添加-配置元件-JDBC Connection Configuration ”
- 数据库连接地址:jdbc:mysql://数据库ip:3306/库名
数据库请求
- 添加数据库请求:线程组-添加-取样器-JDBC Request
在JDBC Request中写JDBC Request的信息,按如下要求填写
添加断言,判断数据库查询结果是否符合预期
- 添加-断言-BeanShell断言
说明:
第1行:a=vars.getObject("SQLresults"); 获取查询的所有结果,这里的SQLresults即JDBC请求中的“Result variable name”
第2行:b = a.get(0).get("id").toString() 取查询结果中的第1行的id字段的值,转换成String类型(便于用equals方法比较),存放在 b 中,即实际值
第3行:实际值存放在String 型变量 c 中
第4-8行:根据业务比较实际值和期望值,得到相应的返回 --Failure=false,则断言为成功,Failure = true 则断言失败。