利用JMeter验证Response Body是否符合Json Schema

在用JMeter做接口功能或自动化测试时,有时候需要验证Response Body是否符合Json Schema,以确认代码修改有没有影响到原有接口返回响应的参数结构。这时就需要用到外部插件“JSON Schema Assertion”,具体的使用方法如下:

Step 1

将“jmeter-json-schema-assertion-plugin”项目打包,获取“Custom_JsonSchemaAssertion_component.jar”包;
项目获取地址:https://github.com/kde-intro/jmeter-json-schema-assertion-plugin

Step 2

将jar包放到JMeter安装目录的\lib\ext\下,重启JMeter;

Step 3

右键点击目标“HTTP Request”sampler,add->Assertion->JSON Schema Assertion,添加JSON Schema断言;

Step 4

获取预期的Response Body(json格式),通过下面网站生成json schema,保存到txt文本(注意:编码格式为UTF-8,否则jmeter会报错);
https://jsonschema.net/#/editor

Step 5

选中JSON Schema Assertion,在JSON Schema->File Name配置对应的json schema文件绝对路径;

Step 6

执行测试用例,可在Assertion Results中查看结果。

经验证,对于少参数、多参数、参数类型不匹配等场景均能看到对应的错误(没有截图是因为保存有道云笔记的图都打不开了:-|)。
之前在系统拆分测试中,出现过开发同学手抖粘代码粘错一小部分的情况,刚好那一小部分是接口返回参数中不太关注的,由于断言没有验证整个Response Body的参数格式,导致粘错的那一小部分成了漏网之鱼,于是对接的业务线无法解析接口响应,导致生产问题。于是有了用JMeter验证Response Body的json schema的尝试,以尽量避免类似的低级错误,更好保证交付质量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值