接口测试 求问,有没有 python 语言的,直接生成 jsonschema 的方法?

爱吃米饭 · October 24, 2020 · Last by 爱吃米饭 replied at October 27, 2020 · 927 hits

目的:想要保存每一次的response,然后自动解析出jsonschema并保存;下一次请求运行的时候用这个schema去diff新的回参是否有改动。

困惑:
1、在网上找了很久,没有找到Python版直接进行jsonschema*生成*的方法或直接比较的方法。
2、http://JSONschema.net/#/home 这个网址,必须要先把我们的Json信息复制到该网页,然后通过该网页生成的jsonschema格式文件写到本地,不智能。

求问:
各位大佬有没有什么思路实现呢,或者求问有没有开源框架可用,先谢过~

共收到 8 条回复 时间 点赞

python有一个库:jsonschema==3.2.0可以参考

goodliving 回复

pythonschema 是校验格式是否正确的库,应该不能自动生成schema文件。

爱吃米饭 回复

看错了,试试genson==1.2.2

想要保存每一次的response,然后自动解析出jsonschema并保存
一个接口一般只有一份jsonschema的啊,为什么要保存每一次的?

因为可能接口修改,导致回参改变,那么jsonschema也可能发生变化,手动修改就太不智能了。所以想最近的两次对比,这样更好些。

goodliving 回复

谢谢,我去了解一下

爱吃米饭 回复

jsonschema定义是一种契约,在前后端协作开发的时候,报错了才知道后端改了哪个东西,要你现在自动把schema改了,那么就不知道后端改了哪里了,想过这个问题没。
不过你要做自动应该有你的需求,有个js写的,代码简洁不难懂,自己改成Python应该可以满足
https://github.com/easy-json-schema/easy-json-schema

先把回参与旧的schema对比,然后保存新的schema,如果不一样,肯定会报错的。不存在说不知道后端改了哪里呀

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up