[toc]
# Swagger Compliance Assertion
Swagger 合规断言通过特定的规范来验证响应值。断言支持下列规范:
- Swagger 2.0 (也称为 OpenAPI 2.0)
- OpenAPI 3.0.0
## 适用场景
Swagger 合规断言仅适用于 [SoapUI](SoapUI.md) ,可在 [REST Request](RESTRequest.md) 测试步骤中使用该断言。
## 创建断言
![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/create-soap.png)
1、在对话框左侧,选择 **Compliance, Status and Standards** 。
2、在对话框右侧,选择 **Swagger Compliance** 。
3、点击 **Add** 。
## 设置断言
1、在 **Swagger URL** 文本框,输入期望的 OpenAPI 或 Swagger 定义的 URL 或文件名。如果输入的 URL 需要身份验证,请输入凭证。
![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/compliance/swagger-compliance.png)
2、当你启用 **Strict Mode** 选项时,如果定义中不包含匹配的返回值,断言将失败。当你禁用该选项时,如果响应码不在定义中,断言结果为通过。
## 工作原理
1、断言是如何工作的:
(1)首先,断言得到一个 response code 。然后在定义中搜索相应的 status code ,并检查 response 是否有正确的 `content-type` 。
如果定义规定了 response body,断言将验证 response body 是否与规定的 schema 一致。
(2)(只针对开放的 3.0.0 版本)如果 response status code 没有被定义,断言将比对 response 和 `default` response 。
>[info]当前,该断言不支持 response 范围校验。
(3)默认情况下,如果找不到匹配的 HTTP status code ,断言将通过。如果你想在这种情况下使断言失败,请启用 **Strict Mode** 选项。
2、当断言首次运行时,ReadyAPI 会将定义加载到内部缓存中。在接下来的运行期间,断言将使用该定义的缓存来校验。在退出 ReadyAPI 后,缓存将被清除。
**参考资料**
[1、ReadyAPI Documentation / Testing APIs / Verifying Results / Assertion Reference / Compliance Assertions / Swagger Compliance Assertion](https://support.smartbear.com/readyapi/docs/testing/assertions/reference/compliance/swagger.html)
:-: --- 贡献者名单(排名不分先后) ---
:-: **材料**
:-: **编写**
苏娟
:-: **校验**
李云
:-: **支持**
- 基础知识
- 属性
- 属性分类
- 属性扩展
- Get Data 对话框
- 断言
- 关于断言
- 使用断言
- 断言类型
- Response SLA
- Script
- Property Content Assertions
- Contains
- Equals
- Equals Binary
- JSONPath Count
- JSONPath Existence Match
- JSONPath Match
- JSONPath RegEx Match
- Message Content
- Not Contains
- XPath Match
- XQuery Match
- Compliance Assertions
- Swagger Compliance
- Schema Compliance
- HTTP Header Exists
- HTTP Header Equals
- JDBC Assertions
- 复制断言
- 术语
- 脚本
- 关于脚本
- 脚本编辑器
- JSONPath
- Projects
- SoapUI
- 测试步骤
- Groovy Script
- DataSource
- Conditional GoTo
- REST Request
- ReadyAPI
- 环境
- 关于环境
- 创建环境
- Rest Services
- Custom Properties
- JDBC Connections
- 团队协作
- 集成
- GitLab
- 第三方库
- Groovy 库
- Java 库
- 自定义ReadyAPI
- 首选项
- 全局属性
- ReadyAPI
- Code Templates
- JVM 设置
- 修改
- 实战指导
- 项目属性
- Groovy
- 代码片段
- 开发规范 v0.1
- 属性
- inbox
- FAQ
- 安装配置
- 复合工程
- 修改文件夹或文件名称