校验响应
视频内容
指定校验范围
校验响应
的校验范围:
- 接口返回的 HTTP 状态码
- 返回内容的数据格式:
JSON
、XML
、HTML
、Raw
、Binary
- 数据结构:仅
JSON
、XML
可配置数据结构,关于数据结构详细说明,请查看文档:数据结构/数据模型
- 如果上述 2 者一致,则显示 ”返回数据结构校验通过!“。说明真实的接口返回值是符合接口文档定义的,不需要人工核对,提高效率和准确性。
- 当不一致时,就会报错并提示具体是哪部分不一致。此时你可以选择修改
接口文档-修改文档
内的返回响应
;也可以通知后端同学修改后端代码。
校验响应功能可以帮助开发人员验证 API 响应是否符合预期。如果接口文档中定义的响应与实际接口返回的响应不一致,发送接口请求后就会提示开发人员进行修改。
校验额外字段
随着实际业务的升级,返回响应可能会添加额外的字段。在这样的情况下,Apifox 允许用户自行决定校验响应机制,判断是否允许额外字段。
例如,现在存在某个查询用户信息的接口,此前的返回字段是 name
和 phone
,因此接口文档内定义了以下数据结构:
随着业务升级,该接口新增了一个 city
字段,但是接口文档并未更新。根据 Apifox 的默认校验机制,这种情况下校验响应时不会报错,即默认允许添加额外字段。
但是对于较为严格的开发场景而言,如果返回值出现了与定义不相符的额外字段,校验响应机制也是需要提示报错的。在这种情况下,可以通过以下方式实现目标:
修改接口文档中的响应。在 object
的高级设置中,将「额外字段」配置为「禁止」,仅对当前接口生效。
如果你希望项目内的所有接口都禁止额外字段,可以前往“项目设置“ → ”校验响应设置“中关闭 ”Object 对象允许额外字段“。
配置完成后,再次发送接口请求时,校验响应机制就会提示错误,说明不允许有额外的属性。
模块功能开关
「校验响应」开关默认打开,你可以在项目设置界面中的「校验响应设置」内进行调整。该设置仅对当前项目内的所有接口生效,不影响已保存的「接口用例」。
如果预先在接口文档内定义了返回响应,Apifox 的“校验响应”功能会检查实际返回的响应是否与接口文档中的定义相一致,测试工程师无需再手写断言。
但是,如果测试工程师仅关注接口的可访问性,或者仅需要执行手写的断言或后置脚本,不希望 Apifox 检查实际响应是否与接口文档一致,那么也可以按需关闭不同模块的校验响应功能。
在设置中关闭校验响应后,手写的断言、后置脚本仍会正常工作。
校验内容
返回响应由 “HTTP 状态码”、“Header”、“Body” 等内容组成。你可以在设置中指定需要进行校验的内容,满足不同的测试场景。