json-schema自动校验

官方地址:https://json-schema.org/

jsonschema 一般用来进行json数据格式验证,在数据提交到业务层次之前进行json格式的验证,还可以根据需要自定义规则。

接口测试中,接口返回几十个字段,要对每个字段断言会很繁琐;我们可以用json schema来判断这几十个字段的类型和范围是否改动了。

示例1

from jsonschema import validate

schema = {
    "type": "object",
    "properties": {
        "price": {"type": "number"},
        "name": {"type": "string"}
    }
}

instance = {"name": "Eggs", "price": 34.99}

validate(instance, schema=schema)

示例2

jsonschema.schema

{
    "type": "object",
    "properties": {
        "price": {"type": "number"},
        "name": {"type": "string"}
    }
}

test_jsonschema.py

import requests
import json
from jsonschema import validate

def test_jsonschema():
    r = requests.get()
    with open("jsonschema.schema", encoding="utf8") as f:
        schema = json.loads(f.read())
    validate(r.json(), schema=schema)

生成jsonschema文件

在线生成schema的网址:https://jsonschema.net/,这个网站在国内访问是在太慢了,你懂的

也可以自己写个工具,把json格式转成schema,那就必须了解schema的用法了,推荐博客:https://www.cnblogs.com/ChangAn223/p/11234348.html


版权声明:本文为weixin_42940480原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。