首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

咱先说个工作中的小段子:

前端同学:测试同学,你们API是怎么测试的啊?劳资从接口中拿到的状态值,页面逻辑都不对?

测试同学:一脸懵逼,心里想code不都返回200了嘛,哪里还有问题啊?

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

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

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

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

1.1在Jmeter中配置JDBC Connection Configuration

1.2JDBC Request请求:

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

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

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

二、利用BeanShell断言进行验证

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

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

if (!"$".equals("$")) {

Failure = true;

FailureMessage = "error,check error";

} else {

FailureMessage = "ok,check current";

}

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

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

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

至此,分享完毕,如有问题与疑问,欢迎在下方留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180601G00RAX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券