使用 Postman 测试你的 API
使用 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文档作为示例
- 打开左上角的
File=>Import


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

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

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

调整 api 请求,调整 api 请求需要的参数或请求头等信息
编辑 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);
});
- 运行 api




自定义请求参数变量
postman 中的参数使用 {{variableName}} 的形式来使用,上面的 baseUrl 就是一个变量
我们可以在请求中使用参数,然后在运行测试的时候设置一个 json/csv 文件来代替这些参数,下面来看一下示例:
这个公告详情的接口是需要一个参数的,这里我们设置为一个变量,变量名叫做 path

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

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

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

可以看到,我们的参数已经被 json 文件里的定义替换调了
More
postman 的功能十分强大,这里就介绍这么多,后面再来分享如何编写测试用例以及自动化测试,希望有所收获
Reference
- https://learning.getpostman.com/docs/postman/scripts/pre-request-scripts/
- https://learning.getpostman.com/docs/postman/collection-runs/starting-a-collection-run/
使用 Postman 测试你的 API的更多相关文章
- 直接用postman测试api ,服务器端没提供跨域也可以访问。
1. 直接用postman测试api ,服务器端没提供跨域也可以访问. 但是,如果用本地的 sever 搭的server, 然后去访问api的话,浏览器会提示 跨域错误.
- 【postman】postman测试API报错如下:TypeError: Failed to execute 'fetch' on 'Window': Invalid value 对中文支持不好
使用postman测试APi的时候,因为系统需要在header部带上登录用户的信息,所以 如下: 然后测试报错如下:TypeError: Failed to execute 'fetch' on 'W ...
- API测试之Postman使用全指南(原来使用 Postman测试API如此简单)
Postman Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中.旨在简化测试和开发中的API工作流. Postman 工具有 Chrome 扩展和独立客户端, ...
- Postman+Newman+jenkins实现API自动化测试
最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所 ...
- 使用Postman验证TFS Rest API
概述 你可能已经了解到,TFS自2015版本发布以来,开始支持通过REST API的方式提供接口服务,第三方平台可以通过通用的HTTP协议访问TFS系统,获取数据.请求编译等.REST API在原有. ...
- Postman—测试脚本
前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...
- 三、postman测试断言设置语法
postman的基本介绍跟基本的用法,在此就不做过多赘述,主要是受限于时间,网上有很多大神总结的已经算是很详尽了,给出链接并感谢大神的辛苦与奉献: postman基本用法:http://www.jia ...
- postman测试实例--断言
postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...
- 基于postman测试接口(整套接口测试)
基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...
随机推荐
- mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据
mysql查询今天.昨天.7天.近30天.本月.上一月 数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT ...
- DENSE_RANK(),允许并列名次、名次不间断,如122344456
将score按ID分组排名:dense_rank() over(partition by id order by score desc) 将score不分组排名:dense_rank() over(o ...
- winfrom 中 label 文字随着窗体大小变化
在进行winfrom 开发过程中,窗体中的文字需要随着窗体大小变化,否则会影响窗体的美观和客户的体验. 之前曾经试过几种方法效果都不满意,例如将label的Dock 属性设置为fill.这样的设置对解 ...
- [USACO07JAN]区间统计Tallest Cow
前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的 ...
- oracle函数 SUBSTR(c1,n1[,n2])
[功能]取子字符串 [说明]多字节符(汉字.全角符等),按1个字符计算 [参数]在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串. [返回]字符型 [示例] SQ ...
- Redis源码解析:03字典
字典是一种用于保存键值对(key value pair)的抽象数据结构.在字典中,一个键和一个值进行关联,就是所谓的键值对.字典中的每个键都是独一无二的,可以根据键查找.更新值,或者删除整个键值对等等 ...
- selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)
selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop Q群里 ...
- java+内存分配及变量存储位置的区别
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...
- Oracle数据字典全解
一.概念: 1.数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表. 数据字典里存有用户信息.用户的权限信息 ...
- hdu 4063 Aircraft (Geometry + SP)
Problem - 4063 几何加简单最短路. 题意是给出若干圆的圆心以及半径,求出从给出的起点到终点的最短路径的长度,可以移动的区域是圆覆盖到的任意一个位置. 做法是这样的,对圆两两求交点,用这些 ...