Jmeter之接口返回数据与数据库查询结果比对——简例

一、思路

要进行接口返回数据与数据库查询结果的比对需要将要比对的数据从接口返回结果和数据库查询结果中取出,利用beanShell断言进行比对判断
1、从接口返回结果取比对数据:利用正则表达式提取器
2、从数据库查询结果中取比对数据:利用beanShell后置处理器
3、比对:利用beanShell断言

二、准备工作

1、HTTP请求

Jmeter之接口返回数据与数据库查询结果比对——简例_第1张图片
HTTP请求配置
Jmeter之接口返回数据与数据库查询结果比对——简例_第2张图片
接口返回结果

红线标出的为需要取出的数据

2、JDBC Connection Configuration (sqlserver数据库)

Jmeter之接口返回数据与数据库查询结果比对——简例_第3张图片
JDBC Connection Configuration

3、JDBC 请求,将查询结果保存在res对象中

Jmeter之接口返回数据与数据库查询结果比对——简例_第4张图片
JDBC 请求

4、添加监控:察看结果树,断言结果

Jmeter之接口返回数据与数据库查询结果比对——简例_第5张图片
监控

三、取数据

1、利用正则表达式提取器从接口返回结果中提取需要比对的数据

Jmeter之接口返回数据与数据库查询结果比对——简例_第6张图片
提取比对数据

红线框出的地方为比对数据的左边界和右边界

2、利用beanShell后置处理器取出需要比对的数据库查询结果数据

Jmeter之接口返回数据与数据库查询结果比对——简例_第7张图片
取数据库查询结果

代码:

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查看变量

Jmeter之接口返回数据与数据库查询结果比对——简例_第8张图片
Debug Sampler

2、结果树中2个变量值

Jmeter之接口返回数据与数据库查询结果比对——简例_第9张图片
变量值

你可能感兴趣的:(Jmeter之接口返回数据与数据库查询结果比对——简例)