python接口自动化测试中,如何校验json返回数据的格式是否正确
Posted 只宅不技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口自动化测试中,如何校验json返回数据的格式是否正确相关的知识,希望对你有一定的参考价值。
校验json返回数据格式是否正确需要用到jsonschema
首先进行安装
pip install jsonschema
示例
from jsonschema import validate result = { "code" : 0, "name": "中国", "msg": "login success!", "password": "000038efc7edc7438d781b0775eeaa009cb64865", "username": "test" } #校验数据格式设定 schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "test demo", "description": "validate result information", "type": "object", "properties": { "code": { "description": "error code", "type": "integer" }, "name": { "description": "name", "type": "string" }, "msg": { "description": "msg", "type": "string" }, "password": { "description": "error password", "maxLength": 20, "pattern": "^[a-f0-9]{20}$", # 正则校验a-f0-9的16进制,总长度20 "type": "string" } }, "required": [ "code","name", "msg", "password" ] } # validate校验, 跟assert断言一个意思 validate(instance=result, schema=schema)
输出为
因为password长度超过了我们校验中限制的最大长度20
以上是关于python接口自动化测试中,如何校验json返回数据的格式是否正确的主要内容,如果未能解决你的问题,请参考以下文章
使用WisdomTool RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?