1.什么是 swagger
Swagger 是一个用于生成、描述和调用 RESTful 接口的 WEB 服务。
通俗的来讲,Swagger 就是将项目中所有想要暴露的接口展现在页面上,并且可以进行接口调用和测试的服务。
现在大部分的项目都使用了 swagger,因为这样后端开发就不需要专门为接口使用者编写接口文档。
当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档,这样就可以避免接口文档老旧不能使用的问题。
而且通过 Swagger 页面,可以直接进行接口调用,降低了项目开发阶段的调试成本。
1.1.分析查询接口
接口的 swagger 文档怎么看:


1.1.1、调试宠物
怎么在页面上调试接口,以查询宠物接口举例 - 点击 Try it out - 请求参数 status 选择 available - 点击 Execute 发出请求 - 下方展示当前请求的 Curl 命令 - 下方展示当前请求的完整 URL - 下方展示响应状态码和对应的响应体 - 有了 swagger,就可以非常方便的获取到接口的信息,有了这些信息,就可以设计测试用例
1.1.2、接口测试用例设计
- 宠物的 增、删、改、查 冒烟测试用例
- 模块+测试标题+优先级+前置条件+URL+请求方法+请求参数+预期结果+实际结果
1.1.3、编写断言
Tests 主要用来做断言,比如要测试返回结果是否含有某一字符串,就可以用到 Tests。
- 断言,就是结果和预期对比
- 如果一致,则用例通过,返回PASS
- 如果不一致,断言失败,用例失败,失败返回 FAIL
test 中可以使用 JavaScript 脚本来进行断言的编写。如果本身不熟悉 JS 语法的话也没有关系,Postman 当中已经预置好了常用的断言。
断言模板:如下

-  验证响应状态码 Status Code:Code is 200 pm.test("响应状态码为 200", function () { pm.response.to.have.status(200); });status方法中传入的值200就是预期结果,可以把括号中的状态码改为任意需要的值,比如400。
-  检查响应体中是否包含某个字符串 Response Body:contains string pm.test("响应体中包含预期的字符串", function () { pm.expect(pm.response.text()).to.include("doggie"); });
-  检测 JSON 中的某个值是否等于预期的值 Response Body:JSON value check pm.test("宠物名称为 doggie", function () { var jsonData = pm.response.json(); pm.expect(jsonData[0].name).to.eql("doggie"); });var jsonData是定义了一个变量,然后把响应数据经过JSON格式化之后,赋值给了定义好的变量。然后用 expect这个方法,把响应数据中的url这个key中的值提取出来,用eql这个方法去和括号中的字符串做比较,如果这两个值是一致的,返回true,如果不一致就返回false。
-  验证响应体是否与某个字符串完全相同 Response Body:Is equal to a string 
 这是一个全量的断言,把响应的数据和一个确定的字符串去做比较,如果完全相同返回pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); });true,不完全相同返回false。
-  验证响应头信息中的 Content-Type 是否存在 Response Body:Content-Type header check 
 这个断言可以用来测试响应的头信息中是否包含某个字段,pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); });Content-type可以换位其他的字段
-  验证响应时间是否小于某个值 Response time is less than 200ms 
 可以用来判断响应的时间是否超过了某一个值,预设的是pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); });200ms,如果没有超过返回true,超过预设的值返回false



















