Jmeter中如何将API返回值与数据库查询值进行比对断言操作

本篇内容主要讲解“Jmeter中如何将API返回值与数据库查询值进行比对断言操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Jmeter中如何将API返回值与数据库查询值进行比对断言操作”吧!

相信很多初中级测试同学可能都碰到过,那怎么做断言验证是高效准确的?今天笔者围绕jmeter接口测试分享利用BeanShell断言:将API返回值与数据库查询值进行比对断言操作

一、首先配置Jmeter连接Mysql数据库

去mysql官网下载mysql-connector-java-bin.jar,我这边下载了5.1.46版本:

链接: https://pan.baidu.com/s/1fW76mABU0mh5NkXJEC-zTQ 密码: 6miq 

1.1在Jmeter中配置JDBC Connection Configuration

Jmeter中如何将API返回值与数据库查询值进行比对断言操作

1.2JDBC Request请求:

Jmeter中如何将API返回值与数据库查询值进行比对断言操作

1.3将已经下载的jdbc驱动加载到Jmeter工具中,这样就使得mysql与Jmeter连接起来。选择 测试计划 — 进入页面,点击 浏览按钮,如图所示

Jmeter中如何将API返回值与数据库查询值进行比对断言操作

1.4点击绿色箭头进行脚本运行,查看结果树得到我们的SQL值

Jmeter中如何将API返回值与数据库查询值进行比对断言操作

至此,jmeter链接数据库已经完成了

二、利用BeanShell断言进行验证

2.1API返回值中的字段值可以通过正则表达式提取器进行提取 

Jmeter中如何将API返回值与数据库查询值进行比对断言操作

2.2将数据库中查询到的值以变量的形式命名(假设a),下次该值就可以通过$a_1获取到。那如何比对?附上代码:

if (!"${identifyCode}".equals("${validate_code_1}")) {

    Failure = true;

    FailureMessage = "error,check error";

} else {

    FailureMessage = "ok,check current";

代码说明:identifyCode是我正则表达式提取出来的值引用的变量

                  validate_code_1是我通过SQL语句查询到的值引用的变量

只有当API返回的值与数据库查询到的值一致时,才认为当前case是pass否则为Fail。

到此,相信大家对“Jmeter中如何将API返回值与数据库查询值进行比对断言操作”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!