接口自动化 - 解决大量响应数据字段的格式断言 -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"));
    }

总结

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

相关推荐
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
上海广测检测科技有限公司4 天前
智能平板出口巴西合规详解:Anatel射频、Inmetro电源/电池与LGPD数据合规叠加
经验分享
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
A黄俊辉A4 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
FLJwu4 天前
存储与固件量产实战01:运动相机TF卡量产翻车实录!V30≠4K可用,90%OEM踩中的隐形售后坑
经验分享·数码相机·相机
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
xiaomu001234 天前
床垫选型的技术评估模型:结构、材料、卫生与检测四层口径
经验分享