使用 Postman 测试你的 API

Intro

最近想对 API 做一些自动化测试,看了几个工具,最后选择了 postman,感觉 postman 的设计更好一些,我们可以在请求发送之前和请求获取到响应之后都可以自定义脚本,很灵活。而且 postman 的支持直接导入 swagger 定义,这样我们就可以很容易的和接口的 swagger 文档结合起来,而且值得一提的是看了几个工具 postman 是看的几个工具里唯一一个支持 openapi 3.0 的文档导入的,其他工具只支持 swagger 2.0,openapi 3.0 是不支持的。

先来看一个 postman 测试的结果

下面就基于一个 swagger 文档来导入API并测试 API

GetStarted

postman 支持直接给出一个 swagger 的 json 描述文档可以是本地的也可以是在线的,这里我们以一个在线的swagger文档作为示例

  1. 打开左上角的 File => Import

  1. 打开 asp.net core 的 swagger 页面,如下图,使用的示例:https://reservation.weihanli.xyz/swagger/index.html

  1. 将 swagger 文档的地址 copy 到对应的 url 输入框中

导入之后可以得到类似下面的示例, API 对应着这个 Collection,swagger 中的分组对应的 collection 下的 folder,具体的某一个 api 对应着具体的 request

  1. 调整 api 请求,调整 api 请求需要的参数或请求头等信息

  2. 编辑 Collection 信息

打开 Collection 的编辑页面

打开 Varibales Tab, 导入之后你会发现请求的地址都是以 {{baseUrl}} 开头的,这是 postman 增加的一个变量,在 Collection 的编辑页面可以看到,修改成自己实际要使用的地址:

打开 Tests Tab, 编写一个简单的测试,这里确保请求的响应 statusCode 是 200:

// ensure statusCode 200
pm.test("response is ok", function () {
pm.response.to.have.status(200);
});
  1. 运行 api

自定义请求参数变量

postman 中的参数使用 {{variableName}} 的形式来使用,上面的 baseUrl 就是一个变量

我们可以在请求中使用参数,然后在运行测试的时候设置一个 json/csv 文件来代替这些参数,下面来看一下示例:

这个公告详情的接口是需要一个参数的,这里我们设置为一个变量,变量名叫做 path

然后再来运行我们的测试

选择我们准备的测试数据,支持 json 和 csv,csv 必须要有 header, header 就是变量名,这里我使用的是 json

选择好文件之后,可以预览我们的数据

数据无误之后就可以运行我们的测试了,运行之后可以在结果页面看到具体的请求信息

可以看到,我们的参数已经被 json 文件里的定义替换调了

More

postman 的功能十分强大,这里就介绍这么多,后面再来分享如何编写测试用例以及自动化测试,希望有所收获

Reference

使用 Postman 测试你的 API的更多相关文章

  1. 直接用postman测试api ,服务器端没提供跨域也可以访问。

    1. 直接用postman测试api ,服务器端没提供跨域也可以访问. 但是,如果用本地的 sever 搭的server, 然后去访问api的话,浏览器会提示 跨域错误.

  2. 【postman】postman测试API报错如下:TypeError: Failed to execute 'fetch' on 'Window': Invalid value 对中文支持不好

    使用postman测试APi的时候,因为系统需要在header部带上登录用户的信息,所以 如下: 然后测试报错如下:TypeError: Failed to execute 'fetch' on 'W ...

  3. API测试之Postman使用全指南(原来使用 Postman测试API如此简单)

    Postman Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中.旨在简化测试和开发中的API工作流. Postman 工具有 Chrome 扩展和独立客户端, ...

  4. Postman+Newman+jenkins实现API自动化测试

    最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所 ...

  5. 使用Postman验证TFS Rest API

    概述 你可能已经了解到,TFS自2015版本发布以来,开始支持通过REST API的方式提供接口服务,第三方平台可以通过通用的HTTP协议访问TFS系统,获取数据.请求编译等.REST API在原有. ...

  6. Postman—测试脚本

    前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...

  7. 三、postman测试断言设置语法

    postman的基本介绍跟基本的用法,在此就不做过多赘述,主要是受限于时间,网上有很多大神总结的已经算是很详尽了,给出链接并感谢大神的辛苦与奉献: postman基本用法:http://www.jia ...

  8. postman测试实例--断言

    postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...

  9. 基于postman测试接口(整套接口测试)

    基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...

随机推荐

  1. 18.libgdx制作预览图,背景移动循环,改变地图颜色

    经过构思,游戏将分为两部分, 1,预览图,只负责展示世界形势 2,根据预览图生成的战役项 现在要记录的是我制作预览图的部分 1.预览图只有实际地图的1/4,首先生成地图(建议不要缩放以前地图,由于误差 ...

  2. I/O模型: 阻塞、非阻塞、I/O复用、同步、异步

    I/O模型不论在实际使用还是准备笔试面试中都是重要的内容,参考Unix网络编程进行总结如下.(尤其注意红色标注处) 1. 明确I/O考察的对象和流程 参考Unix网络编程,一个输入操作通常包括两个不同 ...

  3. Alpha版本第一周作业

    姓名 学号 周前计划安排 每周实际工作记录 自我打分 LTR 61213 1.撰写博客2.分配具体任务并完成个人任务 1.已完成博客撰写2.任务分配完成并继续构思实现方法 95 LHL 61212 完 ...

  4. SpringBoot @Transactional的rollbackFor属性

    1.简单回顾Java Exception 该图摘自:https://blog.csdn.net/zhangerqing/article/details/8248186 一方面,我们可以将异常分为运行时 ...

  5. oracle函数 MAX([distinct|all]x)

    [功能]统计数据表选中行x列的最大值. [参数]all表示对所有的值求最大值,distinct只对不同的值求最大值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开. [参数] ...

  6. @codeforces - 455E@ Function

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 已知 a 序列,并给定以下关系: \[\begin{cases} ...

  7. ImportError: No module named tensorflow.compat.v1 忽略已经安装的某个包版本 忽略已安装版本

    ImportError: No module named tensorflow.compat.v1 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声 ...

  8. @loj - 2483@「CEOI2017」Building Bridges

    目录 @desription@ @solution@ @accepted code@ @details@ @another solution@ @another code@ @desription@ ...

  9. [C#] 查标准正态分布表

    C#里面要计算正态分布是一件比较麻烦的事情,一般是通过查表来实现的. static double[] ayZTFB = null; /// <summary> /// 计算标准正态分布表 ...

  10. uva 12003 Array Transformer (线段树套平衡树)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...