API开发神器-Postman

Postman helps you develop APIs faster.

豪华午餐

Postman

Postman

构建、管理、文档化API

Newman(我真的不是MP3)

Newman

Newman is a command-line collection runner forPostman. It allows you to effortlessly run and test a Postman collection directly from the command-line. It is built with extensibility in mind so that you can easily integrate it with your continuous integration servers and build systems.

  • 安装: newman:npm install -g newman
  • 功能: 直接运行Postman的接口Collection数据(本地或远程)
  • 运行: 本地Postman保存的Collection内容
➜  Downloads newman -c Demo.postman_collection.json

Iteration 1 of 1
200 1479ms Open the url of Baidu. [GET] http://www.baidu.com
    ✔ Status code is 200

Summary:

Parent                      Pass Count   FailCount
-------------------------------------------------------------
Collection Demo                      1           0

Total                                1           0
  • 运行远程Postman
➜  ~ newman -u https://www.getpostman.com/collections/676a42223e14bf54ad84

Iteration 1 of 1
200 240ms Open the url of Baidu. [GET] http://www.baidu.com
    ✔ Status code is 200

Summary:

Parent                      Pass Count   FailCount
-------------------------------------------------------------
Collection Demo                      1           0

Total                                1           0
Interceptor

Interceptor

Postman interceptor brings the power of your Chrome window to Postman! You can set custom headers (including cookies) from within Postman, and view cookies already set on the domain. You can also capture requests being sent from Chrome and import them into Postman. This makes building APIs a breeze!

初级使用

录制API-Interceptor

  • 设置浏览器中的Interceptor:打开开关、设置Filter(仅过滤www.jianshu.com
    Chrome中设置Interceptor
  • 设置Postman中的Interceptor:打开开关
    Postmsn中打开Interceptor
  • 开始录制:在Chrome浏览器中输入http://www.jianshu.com/p/4a677c5f79f1,回车后,查看Postman的请求录入
    录制API结果

回放API-Postman

  • 选择Postman中的API:Get http://www.jianshu.com/p/4a677c5f79f1
    指定API
  • 点击Send,进行回放。可查看到请求的返回状态码200、数据Body
    回放结果

指定API请求-Postman

高级使用

规划管理API - Postman+Collection

将所有的API进行分类管理,如按模块、系统、类型

保存API至Collection

  • 选中需要保存的API,点击请求列表中的Save to collection
    Save to collection
  • 可将此API保存至已有的Collection新增Collection

重命令API请求-便于管理和查看

  • 切换到Collections列表,点击API请求的操作区,选择Edit
    Edit-API信息

常用权限应用尽有-Authorization

Authorization设置
  • Postman在请求时,可指定此次请求Auth方式
  • 可设置Auth中的具体内容,完全自行定义。如设置Basic Auth中的用户名和密码
Basic Auth

完全自定义的头-header

Header设置
  • 编辑已有Header中的元素
  • 新增Header中请求时,需要的Key:Value
  • 禁用及启用Header中的元素,对于不清楚API请求时,具体哪些是必须要传递的比较有用

完美的数据体-body

Body设置
  • 在请求需要发送数据体时,可通过设置body内容
  • 支持form-data/x-www-urlencoded/raw/binary,格式的数据

请求前还能做点事-Pre-request Script

Pre-request Script设置
  • 请求发送前,可进行一些脚本设置。如:设置或清除参数、变量

验证API请求结果-Tests

Postman提供了常用的测试功能:返回内容处理、状态码判断、请求超时等。点击后自动添加到Test脚本中

Test命令集合

进阶使用

带你快速走向各个环境-Environment

  • 添加QA环境URL地址变量
    添加QA环境的地址变量
  • 添加DEV环境的URL地址变量。此时就有两个环境地址
    QA、DEV,两个环境
  • 修改请求中的URL地址为:{{URL}}p/4a677c5f79f1,切换环境至QA环境
    变更URL、切换环境
  • 点击Send,请求QA环境中的数据
    真实的请求QA环境

使用Evnironment,可设置环境地址及环境中的不同数据,便于在跨环境后, 相同API可快速使用,减少调整API的成本

分享你的成果-导出/导入 or share

导出-Download

  • Postman中有Download功能(即导出功能),且Download后的可直接导入
  • 可将CollectionEnvironment的数据进行Download
    PS:导出的数据其实是JSON数据格式,可随意

导入-Import

  • 导入所有导出的数据
  • 被导入的数据格式与内容与导出时,完全一致

分享-share

  • share功能需要登录后,才能使用。且shared成功后,对应的链接会保存到用户数据中
    share-link
  • 点击链接,会直接打开share的API设置内容

导出/导入、share,便于在团队内部协作时使用,API的请求及管理团队化

海量执行你的请求 - Runner

当你有大量的API时,肯定想一次执行多个多次执行多个,Postman的Runner可以满足你的需求。

  • 调整API的结构、添加必要的测试验证
    调整
  • 打开Runner,设置执行参数:选择要执行的Collection、执行多少次Interation、请求的延迟Delay、数据文件、变量控件
    执行参数
  • Start Test查看运行结果RESULTS
    Results

CI挂起来 - Newman

直接使用Newman命令,快速把Postman与CI集成起来(直接使用shell命令,即可)。

newman -c demo.postman_collection --exitCode 1

PS:

  • 3.2.0版本之后,将原来的Jetpack(Runner/Newman)功能免费,以上所提到的功能全部免费使用
  • 本文使用版本为4.2.2

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容