接口自动化 - 解决大量响应数据字段的格式断言 -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文档操作过程:

  1. 复制 JSON 数据:
    从接口响应中获取Json数据
  2. 粘贴到在线生成工具中:
    从响应中获取的Json数据粘贴到在线工具中;
  3. 工具右侧自动生成 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"));
    }

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
jerryinwuhan8 小时前
《系统部署与运维》开篇 课程介绍
运维
科技绘图10 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
zhanghaha131410 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
我是谁??10 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
Shell运维手记11 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
朴马丁11 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
Elastic 中国社区官方博客13 小时前
Elasticsearch:使用 AI Agent 来创建 workflow
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·全文检索
测试运维日常笔记13 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
梦想不只是梦与想13 小时前
鸿蒙 测试工具:DevEco Testing(一)
测试工具·harmonyos·testing
喜欢的名字被抢了14 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库