使用jsonschema对接口响应数据进行全量字段校验

全量字段校验:对响应的所有字段进行字段名字段值或字段类型的校验

使用断言的方式可以对响应的某些字段作校验,但是使用jsonschema可以预先编写好全量检验规格。再进行尽可能充足的字段进行校验。

实现思路:

  1. 定义接口返回数据的期望格式
  2. 与接口实际响应数据对比校验

1.待校验的数据

图片[1] - 使用jsonschema对接口响应数据进行全量字段校验 - 正则时光
待校验的数据

2.编写Jsonschema校验格式

图片[2] - 使用jsonschema对接口响应数据进行全量字段校验 - 正则时光

type关键字

作用:表示待校验元素的类型

图片[3] - 使用jsonschema对接口响应数据进行全量字段校验 - 正则时光

pattern关键字

作用:指定正则表达式,对字符串进行模糊匹配

基础正则举例: 
1 包含字符串:hello 
2 以字符串开头 ^: ^hello 如:hello,world 
3 以字符串结尾 $: hello$ 如:中国,hello 
4 匹配[]内任意1个字符[]: [0-9]匹配任意⼀个数字 [a-z]匹任意一个小写字母 [cjfew9823]匹配任意一个 
5 匹配指定次数{}: [0-9]{11}匹配11位数字。 匹配 手机号:^[0-9]{11}$
schema={
    "type":"object",
    "properties":{
        "success":{"type":"boolean"},
        "code":{
            "type":"integer",
            "const":10000
        },
        "message":{
            "pattern":"登录成功"
        },
        "data":{
            "type":"object",
            "properties":{
                "age":{"type":"integer","const":20},
                "name":{"type":"string","const":"lily"},
            },
            "required":["age","name"]
        }
    },
    "required":["success","code","message","data"]
}

3.使用python校验数据

图片[4] - 使用jsonschema对接口响应数据进行全量字段校验 - 正则时光
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享