前言
JsonSchema 一般使用对json数据的格式验证,但是作为测试同学来说大部分可能是自定义断言有些数据结构无法校验,那么它将可以帮你来完成。
而且非常不错,业界也有许多打着“锲约测试”的旗号并不是虚吹的。
官网介绍的用途
- 描述您现有的数据格式。
- 提供清晰的人类和机器可读文档。
- 验证对以下有用的数据:自动化测试、确保客户提交数据的质量
Json Schema官网:http://json-schema.org
更多插件请查阅安装:https://jmeter-plugins.org/downloads/old
一、下载相关的 jar 包
1、我已打包好,下载链接:https://pan.baidu.com/s/1Vhi1fZVv-wZo03FC4HD_uw
提取码:e3l8
2、放在 lib/ext 目录下,重启jmeter
二、使用 JSON Schema Assertion
1、在http请求右键-添加-断言-JSON Schema Assertion
2、生成返参 Schema
1)打开该网站:https://json-schema-inferrer.herokuapp.com/
2)将接口正常返回的参数粘贴文本框中
3)复制 Schema 到 Jmeter Schema 即可
PS:Jmeter Schema(说明:使用文件模板时,将不会使用输入框中的模板。二者只能二选一)
三、测试 demo
1、假设接口正常返参为:{"data":"OK","retCode":"0"}
2、我们将 Schema 断言写入:
- {
- "$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
- "properties": {
- "data": {
- "type": "string"
- },
- "retCode": {
- "type": "string"
- }
- }
- }
3、运行,正常没有问题,那如果返参格式变了呢?
4、返参结果变化,比如 data 返回了 object 对象。
返参:{"data":{"OK":null},"retCode":"0"}
这时候可以看到断言失败了,再看看提示,很清楚地知道期望它是 string,但找到的是 object
欢迎来大家QQ交流群一起学习:482713805,博主微信+:gogsxl