一、思路
要进行接口返回数据与数据库查询结果的比对需要将要比对的数据从接口返回结果和数据库查询结果中取出,利用beanShell断言进行比对判断
1、从接口返回结果取比对数据:利用正则表达式提取器
2、从数据库查询结果中取比对数据:利用beanShell后置处理器
3、比对:利用beanShell断言
二、准备工作
1、HTTP请求
红线标出的为需要取出的数据
2、JDBC Connection Configuration (sqlserver数据库)
3、JDBC 请求,将查询结果保存在res对象中
4、添加监控:察看结果树,断言结果
三、取数据
1、利用正则表达式提取器从接口返回结果中提取需要比对的数据
红线框出的地方为比对数据的左边界和右边界
2、利用beanShell后置处理器取出需要比对的数据库查询结果数据
代码:
columnValue = vars.getObject("res").get(0).get("advPicUrl"); //从数据库select结果中取出advPicUrl列的第一行值,第一行index从0开始算get(0)
vars.put("advPicUrl",columnValue); //将取出的值赋给变量advPicUrl```
3、利用beanShell断言进行结果比对
![断言比对结果](http://upload-images.jianshu.io/upload_images/2726453-3d99e4b0455eaefd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代码:
if("${homePageUrl}".equals("${advPicUrl}")) //数据库的取值与接口正则取值比对
{
System.out.println("OK");
}
else
{ System.out.println("fail");
}```
四、结果查看
1、添加Debug Sampler查看变量
2、结果树中2个变量值