接口自动化测试,一键快速校验接口返回值全部字段

本文介绍了如何利用DeepDiff库进行接口自动化测试,包括比较JSON、接口响应和正则搜索匹配,以及如何设置黑名单忽略特定字段,提高测试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言:

一、认识一下,DeepDiff 介绍

主要组成部分:

二、DeepDiff 使用

2.1 案例一:比较两个 JSON

2.2 案例二:比较接口响应

2.3 案例三:正则搜索匹配

三、最后一个小技巧:DeepDiff 黑名单

四、小结


前言:

在接口自动化测试中,快速校验接口返回值的全部字段是一个重要的任务。通过一键快速校验,可以有效地验证接口的返回数据是否符合预期,并及时发现潜在的问题。

今天,我们先来聊聊,如何借助现有的第三方库来解决: 快速校验 API 接口返回的全部字段。由于当今大部分接口都是基于 Restful API,后续我介绍中,我们假设接口响应体格式以 JSON 为例。

要满足上面的实现需求,第三方库方案有很多,比如常见的就有:deepdiffdifflibjson-diffjson_tools 等,这些三方库之间,都有各自侧重点,本篇文章,重点介绍:如何借助 DeepDiff 库来解决快速校验接口返回字段的问题

一、认识一下,DeepDiff 介绍

Deepdiff模块常用来校验两个对象是否一致,并找出其中差异之处。其中提供了三个类,DeepDiff,DeepSearch 和 DeepHash,官网地址:DeepDiff OLD 4.0.7 documentation! — DeepDiff 4.0.7 documentation ,当前最新版本为:V5.5.0

主要组成部分:

  • DeepDiff:比较两个对象,对象可以是字段、字符串等可迭代的对象,针对对象的深层差异,递归查找所有更改。

  • DeepSearch:在对象中搜索其他对象

  • DeepHash:根据对象的内容进行哈希处理

DeepDiff 的初衷是用来找出不同数据的差别,可以比较JSONXML文本类的,也可以比较图片,在使用了一下之后,其实我们完全可以直接使用它作为测试的断言,这也是从另一个思考角度提供了一种全新的校验思路

二、DeepDiff 使用

当你看完上述的介绍,相信还是一脸懵,不知如何下手,接下来,就通过几个案例来进一步感受一下Deepdiff的功能和作用。

使用之前,先安装:

pip install deepdiff

2.1 案例一:比较两个 JSON

利用 Deepdiff 比较 JSON 的差异:

import pytest
import requests
import pprint
from deepdiff import DeepDiff

class TestDemo(object):

    def test_case_01(self):
        a = {"Object": {
            "code": "0",
            "message": "success"
        },
            "code": "0",
            "message": "success"
        }

        b = {"Object": {
            "code": "0",
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值