跳到主要内容

校验响应

视频内容

指定校验范围

  1. 校验响应 的校验范围:
  • 接口返回的 HTTP 状态码
  • 返回内容的数据格式:JSONXMLHTMLRawBinary
  • 数据结构:仅JSONXML可配置数据结构,关于数据结构详细说明,请查看文档:数据结构/数据模型
  1. 如果上述 2 者一致,则显示 ”返回数据结构校验通过!“。说明真实的接口返回值是符合接口文档定义的,不需要人工核对,提高效率和准确性。
  1. 当不一致时,就会报错并提示具体是哪部分不一致。此时你可以选择修改 接口文档-修改文档 内的 返回响应 ;也可以通知后端同学修改后端代码。

校验响应功能可以帮助开发人员验证 API 响应是否符合预期。如果接口文档中定义的响应与实际接口返回的响应不一致,发送接口请求后就会提示开发人员进行修改。

校验额外字段

随着实际业务的升级,返回响应可能会添加额外的字段。在这样的情况下,Apifox 允许用户自行决定校验响应机制,判断是否允许额外字段。

例如,现在存在某个查询用户信息的接口,此前的返回字段是 namephone,因此接口文档内定义了以下数据结构:

随着业务升级,该接口新增了一个 city 字段,但是接口文档并未更新。根据 Apifox 的默认校验机制,这种情况下校验响应时不会报错,即默认允许添加额外字段。

但是对于较为严格的开发场景而言,如果返回值出现了与定义不相符的额外字段,校验响应机制也是需要提示报错的。在这种情况下,可以通过以下方式实现目标:

修改接口文档中的响应。在 object 的高级设置中,将「额外字段」配置为「禁止」,仅对当前接口生效。

如果你希望项目内的所有接口都禁止额外字段,可以前往“项目设置“”校验响应设置“中关闭 ”Object 对象允许额外字段“

配置完成后,再次发送接口请求时,校验响应机制就会提示错误,说明不允许有额外的属性。

模块功能开关

「校验响应」开关默认打开,你可以在项目设置界面中的「校验响应设置」内进行调整。该设置仅对当前项目内的所有接口生效,不影响已保存的「接口用例」。

如果预先在接口文档内定义了返回响应,Apifox 的“校验响应”功能会检查实际返回的响应是否与接口文档中的定义相一致,测试工程师无需再手写断言。

但是,如果测试工程师仅关注接口的可访问性,或者仅需要执行手写的断言或后置脚本,不希望 Apifox 检查实际响应是否与接口文档一致,那么也可以按需关闭不同模块的校验响应功能。

在设置中关闭校验响应后,手写的断言、后置脚本仍会正常工作。

校验内容

返回响应由 “HTTP 状态码”、“Header”、“Body” 等内容组成。你可以在设置中指定需要进行校验的内容,满足不同的测试场景。