文章目录
- [1. Json Schema介绍](#1. Json Schema介绍)
- [2. 生成Json Schema文档](#2. 生成Json Schema文档)
-
- [生成Json Schema文档操作过程:](#生成Json Schema文档操作过程:)
- [3. 使用Json Schema 断言](#3. 使用Json Schema 断言)
- 总结
✨✨✨学习的道路很枯燥,希望我们能并肩走下来!
编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。

本文开始
1. Json Schema介绍
面对大量响应数据字段断言,不可能逐个断言,面对这种情况,推荐使用Json Schema工具,来辅助;
Json Schema是使用 JSON 格式编写的
- Json Schema可以用来定义校验 JSON 数据的结构
Json Schema可以用来校验 JSON 数据的一致性
Json Schema可以用来校验 API接口请求和响应
Json Schema工具用来定义预期结果,来验证实际响应结果是否正确;
2. 生成Json Schema文档
- 1.打开工具地址
JSON Schema 在线生成工具:
https://app.quicktype.io - 2.手动选择语言:选择Json Scnema语言
生成Json Schema文档操作过程:
- 复制 JSON 数据:
从接口响应中获取Json数据 - 粘贴到在线生成工具中:
从响应中获取的Json数据粘贴到在线工具中; - 工具右侧自动生成 JSON Schema数据:
复制自动生成 JSON Schema数据,配置到代码中即可使用;
json schema生成对应Json文件的校验类型如图:
3. 使用Json Schema 断言
1.导入json-schema-validator依赖:
xml
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
2.项目路径中创建schema.json文件
2.1 在自动化脚本中创建schema.json文件,用来存储生成的JsonSchema文件
2.2 先通过正常请求方式,获取响应的Json数据 → 再通过工具获取Json Schema文件 → 在复制到自动化项目路径中test/resources/schema.json文件中;(文件名随意)
3.接口测试用例中断言直接使用
then.body(matchesJsonSchemaInClasspath("xxx.json"));
参数为你的schema文件
java
@Test
void jsonSchemaTest() {
given()
.when()
.get("https://httpbin.com/get")
.then()
.log().all()
.assertThat()
//Json Schema断言
.body(matchesJsonSchemaInClasspath("schema.json"));
}
总结
✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!


