1.登录Postman小编使用的是github账号登录在登录选项直接选择自己的github账号登录进去即可有登录问题可以去别的文章查看在这里就不细说了。旧版的Postman登录后的页面2.1创建集合存放接口点击左上角collection集合点击“”创建一个新的集合给集合命名并在下方加入备注例如我测的是宠物商店接口测试我加入的描述就是“一个宠物商店Pet_Store_Project接口测试”添加后系统会自动保存后续想要修改集合名字直接点击集合后边的“...”点击rename即可修改。2.2创建新的接口请求点击集合下方蓝色字体的Add a request得到一个新的请求我使用的接口测试网站是https://petstore.swagger.io/#/pet/getPetById我们本次测试用到的是截图中两个接口样例先这个网站里创建一个宠物PetID修改ID和Name信息为我们自己的点击execute,成功post返回值为200这样可以确保我们得到一个可以调用的URL可以看到URL就是我们在Postman里做Post请求输入的URL这里记得复制出来返回值200证明这个post已经成功发送并且得到自定义的信息。接着再拿到一个get请求在get请求中输入我们刚创建好的ID111运行后返回值200表示成功收到Post的信息并复制这个URL。2.3在Postman中测试2.3.1GET接口测试添加一个新的请求左侧方式选择GET将上面的URL复制进来在Headers里新建一个过滤条件在Key中填写Accept,Value中填写application/json注意这个一定要设置好我们GET请求的是json信息不设置运行出来的数据无法成功获取到json的数据信息会出现类似“UTF-8”报错。设置完成点击send顺利的话会看到下方Body出现我们在上面网站中设置的数据信息。2.3.2POST接口测试可以沿用GET中的URL向GET发送请求新建一个请求左侧设置为POSTURL复制GET接口中的将GET中得到的Body信息复制到POST的Body下面设置headers条件过滤点击send会看到下面信息和GET中一致这证明接口测试成功了当然我们可以通过需改POST中ID和Name值继续向send再从GET中接收信息会得到新的用例2.3.3变量参数化原来的URL我们写的是https://petstore.swagger.io/v2在get 和POST中这往往过长不方便在不同环境间切换可以在环境中添加配置解决将我们默认长度的部分填入initial Value 中这样URL就变成{{url}}/...我对这个接口测试单独设置了环境名称是Pet_Project我在这里添加URL只使用在这个环境中如果在全局使用可以在下方的globals设置。设置的配置环境切换到Pet_Project注意新的URL要用两层{{URL}}在后面加上GET和POST接口剩下的内容点击send可以得到之前设置的同样的数据。2.3.4 接口关联与动态化目前我们设置的ID是手动修改两个接口在测试样例增加会不方便为了便于做ID修改可以在POST接口将ID单独提取出存入环境变量pet_id以后GET接口刷新就能的得到数据。首先打开POST请求点击Tests标签页在右侧代码区输入以下代码// 1. 将服务器返回的 JSON 响应解析为对象 var jsonData pm.response.json(); // 2. 从响应中提取 id并存入名为 pet_id 的环境变量 pm.environment.set(pet_id, jsonData.id); // 3. (可选) 在控制台打印出来看看方便调试 console.log(成功提取到的宠物ID是: jsonData.id);在GET和POST请求的URL末尾去掉写死的/111GET接口修改后{{url}}/pet/{{pet_id}}POST接口修改为{{url}}/pet,在环境配置也加入pet_id具体步骤和设置URL一样。接着需要同一变量位置在POST的tests中加入代码pm.globals.set(pet_id, jsonData.id);最后点击send运行。这里加入速记函数的知识为了方便我们达到“一次编写多次运行”做到让POST自动更新ID将POST Body里的ID改成id: {{$randomInt}}这样 Postman 每次发送时都会随机生成一个 1 到 1000 的数字真正实现“全自动测试”。接着加入动态断言var expectedId pm.environment.get(pet_id); pm.test(返回的ID应与创建时一致, function () { pm.expect(jsonData.id).to.eql(Number(expectedId)); });运行出的结果中可以看到随机生成数字101并且查看断言结果都pass那既然GET接口获取的随机数数101证明此时POST函数生成的是101也就是pet_id101我们查看环境变量里的pet_id验证猜想可以看到环境变量此时是101 这证明随机数测试成功。3.1Newman的使用3.1.1Newman是什么Newman可以理解为Postman的终端形式Postman是UI界面形式进行测试Newman是将文件在命令行进行测试3.2 Newman的下载在终端输入npm install -g newman3.3Newman的使用方法一本地下载首先需要将Postman中集合文件下载到本地文件夹中点击collection旁边的三个点“...”点击export在页面中选择collection v2.1点击export选择一个简单的文件地址保存保存后的文件是json格式。接着需要保存运行文件的环境在左侧选择environment和上面操作一样点击export导出json格式的文件这里建议将集合文件和环境文件放在一个目录下在终端方便运行。在终端输入运行代码newman run 你的集合名.json -e 你的环境名.json运行成功截图方法二更推荐share Link运行用链接跑的好处是只要你在 Postman 里点了Save链接里的内容会实时更新Newman 跑的就是最新的代码不需要反复手动导出文件了首先最关键的一步确保Postman中已经保存修改检查POST接口Tests里的pm.environment.set(pet_id, jsonData.id);代码还在检查GET接口URL 已经改为{{url}}/pet/{{pet_id}}关键点确保两个接口上方的 Tab 标签页没有“小圆点”有圆点表示没保存请按Ctrl S全部保存。接着在左侧找到集合后面的...进入share选择Via JSON link或Via API第一次使用需要建一个Key复制API打开终端切换到创建Newman的文件夹下newman run 你复制的Postman_Link -e 环境文件名.json运行后界面和上一个方法的一样4.1 HTML可视化报告生成HTML报告时网页版UI界面的测试报告比终端报告强大的多包含Dashboard仪表盘直观展示通过率、失败率、总耗时。Total Requests每一个接口请求的完整细节。即使 Newman 跑完了你依然可以在报告里看到发出的 Body 是什么、收到的 Response 是什么。Failed Tests如果有失败它会用醒目的红色标出来并给出失败的原因比如断言错误。下载插件npm install -g newman-reporter-htmlextra终端输入newman run 你的API链接 -e 环境文件名.json -r htmlextra运行完会发现本地文件Postman文件下多一个叫Newman的文件夹点进去看到一个后缀名.html文件双击用浏览器打开得到报告至此一个完整的接口自动化测试流程就全部结束了总结测试流程接口测试基础-接口关联与动态化-命令行自动化-调试与 Bug 排查-可视化报告接下来的内容是扩展加强篇5.1模拟外部依赖在一些后端开发或者第三方接口不稳定导致自动化脚本跑不通就需要通过写脚本或Postman等工作创建一个临时的服务器来接收并返回JSON数据我们把这个称为Mock Server。5.1.1创建MockServer实例在postman左侧点击Mock Server添加一个Mock服务器基本信息MethodGET或POST Request Path/pet/mock Response Code:200Response Body :{id: 999, name: Mock_Cat, status: available}。给Mock起个名字5.1.2获取并配置Mock URL复制Mock的URL进入环境变量添加新的Mock_URL变量5.1.3设置响应示例1、Mock Server 之所以能返回数据是因为它匹配了你定义的Example。定位到具体的 Request点击左上角collection选择你想要添加Mock的请求接口将类型改成GETURL输入配置好的环境变量 {{url}}/pet点击后面的“...”选择Add example这时可以看到原有的请求下多了一个带“e”图标的子项就是Example 编辑界面。然后在Body中写入“假”数据在页面右下方“status code”值输入“200 OK”最后点击save。2、最后回到请求页面点击send可以在控制台得到返回值200的成功结果