postman linux 使用教程,Postman 的实用功能

2023-05-16

a7a0c92095d032095915bc865b546e88.png封面图

前言

基础使用

Collection

Environment

Test

Collection Runner

参考资料

关于我

前言

我是一个 Android 开发工程师,日常开发中最免不了的就是使用 Postman 进行网络调试,Postman 也很方便,URL、Header 都能设置。下面来分享几个有用的功能,来看看有没有你没用过的。

148ffbb35db733c92a04ce14dbe6c038.pngimage-20200629171237658

基础使用

初次打开 Postman,就会显示上图这样的页面。需要测试一个请求的时候,新开一个 Tab,填写 URL、选择请求方式,还要按照接口的要求设置响应的 Header、Params,然后点击 Send 发送请求,观察响应。

83a3802098eda82ab25bd3308375c96f.pngimage-20200630143346409

Collection

这就是最简单一次网络请求,我之前一直是这么用的,没有毛病。直到有一天,老大给我一个 JSON 文件,让我导入到 Postman,说是这是你后面要接手的项目的所有的网络请求。我导入之后,大概是下面这样的。老大告诉我,导入的这个就是一个 Collection,你可以在 Postman 中创建多个 Collection。

abad55c1fbafa3ca36e3d95cbdf53b64.pngimage-20200630150543167

这是我第一次接触 Collection,还是挺兴奋的,跑到一旁去研究这些接口去了,用了一阵子我发现,Collection 还可以在内部创建文件夹,用分包的形式对 Collection 里的请求进行归类整理,就像这样。

860d82b82666c9377d346d3a73a7f49d.pngimage-20200630152402689

Environment

用了没多久,我发现了一个问题,每次我访问的接口 token 变了,我就需要把每个请求的 header 中的 token 那个值改一下,这样弄太麻烦了。我就想 Postman 能不能设置全局变量,然后我只需要在一个地方更新 token,其他地方自动设置。查了一下还真有这个功能。

不过 Postman 把变量这个概念放在了 Environment 中,如果把变量看做是请求,那么 Environment 就是变量的 Collection。

661a4f1f2113622f8667903d799584a3.pngimage-20200630161417022

① 当前的 Environment

② 查看当前 Environment 中的值

③ 设置 Environment「可以添加、删除 Environment 或编辑其中的变量」

点击 ③ 可以打开下面这个面板,这个面板是列出当前所有的 Environment,点击每一个 Environment 的名称可以进入并编辑所属的变量。

点击 ④ 可以新建一个 Environment,并创建、编辑、删除变量;点击 ⑤ 则是直接对全局变量进行创建、编辑、删除,这里的全局的意思是在发起一个请求时不设置 Environment 也能使用的变量。

ba8b1d4f52fafbd6646056ad7db44548.pngimage-20200630171558981

点击上图的 ④ 或 ⑤ 都会打开一个设置参数的面板,区别就在于 ⑤ 无需设置 Environment 的名称。

a5f9aaf0ffa9be541dd670d8c05857c0.pngimage-20200630161003931

需要注意啊,如果你把变量设置在了 Environment 而不是全局的,需在发送请求之前,设置当前所使用的 Environment,点击 ① 处就能选择 Environment 了。

00195daa3ab1b560e85f54c95b5fa3b6.pngimage-20200701144232925

我就这么用了一阵子,也没什么事,老老实实的开发我的 APP,直到测试找上门来,说不对啊,你这 App 上的数据不对啊,还有有的时候半天都没数据,那个 Loading 动画一直在转,人家 iOS 都是好的。这我哪能忍,经过我一番排查,结果发现是服务器的问题,于是我就让测试再遇到这种情况,自己用 Postman 测试一下,自己去看数据。可人家又嫌每次都得用一下 Postman 太麻烦,于是我又发现了一个 Postman 功能,Test。

Test

Test 可以对每个请求及响应执行相应的测试逻辑,比如延迟是否超过 200ms,服务器响应是否为 200 等等,测试逻辑所采用的编程语言是 JavaScript。

fbad288f9de0cdd6bf9f58322af13ace.pngimage-20200701145427438

每个请求都有一个 Tests 的 Tab,在 Tests 下方的编辑框中可以自行编写代码,相应的每个响应也都有一个 TestResult,在这里展示每一个 Test 的执行结果,是通过还是失败,如果是失败还有具体的原因。

下面就来简单测试一下,测试的项目是响应时间少于 200ms 和是否成功响应「是否成功响应,直接判断服务器返回的状态码是否为 200」。

d7adecbd845dc115f314921862a71ee8.pngimage-20200701150729899

可以看到,这次的测试有一个通过,一个失败的,失败的原因是请求时间为 1891ms 高于我们设置的 200ms 的目标值。

嘿,你是不是在想测试哪些东西?Postman 都提供示例了,你看上图 Tests 编辑框右侧我框柱的区域,那是 Postman 提供的几个模板。直接拿来用就好了。如果模板不够用的,还可以自己写呢,Header 和 Body 都可以进行测试。

比如我们一般把服务器的响应规定为下面这种类型,而客户端需要先判断 status 是否正确,然后再进行取值,那么我们需要拿到 status,然后进行判断。下面就是数据示例及测试样例代码。

{

"data": {

"isAgency": "0",

"token": "456789......"

},

"msg": "OK",

"oK": true,

"status": 200

}

复制代码

var data = JSON.parse(responseBody)

var statusCode = data.status

pm.test("测试接口是否异常", function () {

pm.expect(200).to.equal(statusCode)

})

复制代码

还记得,我们利用 Environment 进行设置变量,然后在请求的 Header 中进行使用吗?Test 也可以对变量进行操作的。利用下面这四个方法就能对 Environment 或全局的变量进行取值和赋值操作。

pm.environment.get("variable_key");

pm.environment.set("variable_key", "variable_value");

pm.globals.get("variable_key");

pm.globals.set("variable_key", "variable_value");

复制代码

这样一来,我们还可以利用,Test 来对 Token 进行自动更新,当我们检查出当前的接口返回数据正常,就把 Token 写入到 Environment 变量即可。

if (statusCode == 200) {

var token = data.data.token

pm.environment.set("token", token)

}

复制代码

Collection Runner

这个功能也挺好,针对单个请求的,但是如果要测试很多呢?那测试人员肯定还不愿意用这个,有没有批量测试的工具呢。答案是有的,就在 Collection 里面,Collection 是一些请求的合集,它提供了一个叫 runner 的功能。

b7d5b08f1f9de3c9ccce931f1f1eda75.pngimage-20200701160954937

依次点击箭头所指的图标就能进入 Collection runner 面板。

b84b142e4252929ebb6d62aaa85f9f21.pngimage-20200701161156537

看上图,A 区当前 Collection 所有的接口,可以选择执行范围,默认是整个 Collection,B 区则是选择的将要进行测试的接口,每个请求还可以进行拖动排序;C 区就是对整个测试的配置,比如执行几遍,每个请求间隔多少毫秒,是否保存响应等等,配置完成后就可以执行了。

cf5804d8dc69957badffef8aac8edcf5.pngimage-20200701161756799

这个是测试结果,我对单个 Collection 中的单个接口进行了三次的请求。在这个页面上,也是可以对每一次的请求查看每个请求的信息,包括请求地址、Header、Response、响应 Header、响应 Body。

f28814bdf334da4265ee9a60d96f6bd3.pngimage-20200701162125565

而且还能导出,把单次请求结果进行导出,导出的文件也是 JSON 格式的,很方便查看。

没想到 Postman 还挺好用的哈,赶紧推荐给测试,下次数据再出问题,让他直接找后台去,还有数据摆在面前,想跑都到不掉。

对了,如果登录 Postman,Postman 还会把 Collection 和变量 Environment 保存在云端,多个设备之间会自动同步。

参考资料

Test 示例及官方资料

Postman log 打印

Collection Run

关于我

我是一个普普通通的 Android 开发者,你可以在简书、掘金,还有我的个人博客找到我。

本文封面图:Photo by Ian Schneider on Unsplash

本文使用 mdnice 排版

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

postman linux 使用教程,Postman 的实用功能 的相关文章

  • 中国电话号码格式

    中国区号 086 北京区号010 我的电话123456 填在表格上应该如何填写呢 xff1f 手机号码应该如何填写呢 xff1f xff1f 00就不必写了 xff0c 写 43 就好了 xff0c 不同的国家国际接入的号不太一样的 xff
  • 【Quick-Cocos2d-x笔记】【一】Mac环境及相关配置

    本来是老老实实的想 xff0c 一心一意的先把C 43 43 学好 xff0c 在觉得自己C 43 43 水平还是菜鸟级的时候不要去动其他的东西 但自上次面试回来时候 xff0c 觉得这样不行啊 xff0c 虽然说现在从事的是C 43 43
  • matlab练习程序(粒子群优化PSO)

    算法没有和图像处理直接相关 xff0c 不过对于图像分类中的模式识别相关算法 xff0c 也许会用到这个优化算法 算法步骤 xff1a 1 首先确定粒子个数与迭代次数 2 对每个粒子随机初始化位置与速度 3 采用如下公式更新每个粒子的位置与
  • 您需要来自administrators的权限才能对此文件进行更改

    今天我重装了系统 xff0c 以前D盘里的一个文件夹想删除 xff0c 可以一直没法删除 xff0c 原先它提示 您需要来自 S 1 5 21 602162358 1284227242 682003330 500 的权限才能对此文件夹 xf
  • ***JAVA多线程的应用场景和应用目的举例

    多线程使用的主要目的在于 xff1a 1 吞吐量 xff1a 你做WEB xff0c 容器帮你做了多线程 xff0c 但是他只能帮你做请求层面的 简单的说 xff0c 可能就是一个请求一个线程 或多个请求一个线程 如果是单线程 xff0c
  • Kafka遇到30042ms has passed since batch creation plus linger time at org.apache.kafka.clients.producer...

    问题描述 xff1a 运行生产者线程的时候显示如下错误信息 xff1a Expiring 1 record s for XXX 0 30042 ms has passed since batch creation plus linger t
  • tcpdump -w 和 -r 的使用

    tcpdump的说明文档是这样的 xff1a w 将原始的信息包写入 形式如 tcpdump w tmp result txt 我今天试了一下 xff0c 发现其写成的文件如果用cat vim来查看的话 xff0c 都显示为乱码 经过man
  • 如何用Go访问深层嵌套的JSON数据?

    原文来自https hashnode com post how 大多数情况下 xff0c 开发人员需要使用来自其他服务的JSON数据并对其进行查询 查询JSON文档非常耗时 在过去的几天里 xff0c 我正在为Golang编写一个包 xff
  • Identity Card

    Identity Card Time Limit 2000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 995 Accepted
  • 华为S5700交换机开启WEB配置

    近来很多朋友问关于S5700开启WEB不成功的问题 xff0c 现整理出具体步骤和命令 提示 xff1a 华为交换机配置时 xff0c 输入命令前几个字母 xff0c 按TAB可以自动补全命令 xff0c 比如在系统视图下输入sh按下TAB
  • 托管堆上对象的大小(Size)和Layout

    前几天 xff0c 我介绍了托管环境下struct实例的Layout和Size xff0c 其中介绍了StructLayoutAttribute特性 xff0c 其实StructLayoutAttribute特性不只可以用在struct上
  • 网上十大黑客软件大曝光

    网上十大黑客软件大曝光 Internet网上的黑客网站多如牛毛 xff0c 黑客软件也越来越多 越来越黑 笔者现将这些黑客软件分门别类地曝一曝光 xff0c 并提出相应的解决方案 xff0c 以防患于未然 一 古老的WinNuke 平台 x
  • C# DataSet和DataTable详解[转]

    1 创建DataSet对象 xff1a DataSet ds 61 new DataSet 34 DataSetName 34 2 查看调用SqlDataAdapter Fill创建的结构 da Fill ds 34 Orders 34 D
  • 【Python】爬取网站图片

    import requests import bs4 import urllib request import urllib import os hdr 61 39 User Agent 39 39 Mozilla 5 0 X11 Linu
  • 纯C++实现的HTTP请求(POST/GET)

    纯C 43 43 实现的HTTP请求 xff08 POST GET xff09 xff0c 支持windows和linux xff0c 进行简单的封装 xff0c 方便调用 实现如下 xff1a include 34 HttpConnect
  • python subprocess执行shell命令

    2019独角兽企业重金招聘Python工程师标准 gt gt gt subprocess的目的就是启动一个新的进程并且与之通信 subprocess模块中只定义了一个类 Popen 可以使用Popen来创建进程 xff0c 并与进程进行复杂
  • HDTV片源

    微软的 点击进入 苹果 quicktime下载 点击进入 国内一个网站 不过收费 电击进入 还有思路 转载于 https blog 51cto com wangjian 1420
  • Onvif鉴权实现方式

    Onvif鉴权实现方式 Digest 61 B64ENCODE SHA1 B64DECODE Nonce 43 Date 43 Password gsoap中digest生成代码 xff1a int soap wsse add Userna
  • 一文搞定Java并发编程面试考点

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 在java中守护线程和本地线程区别 xff1f java中的线程分为两种 xff1a 守护线程 xff08 Daemon xff09 和用户线程 xff08 User
  • 数据结构c语言版创建链表实验报告,C语言数据结构-创建链表的四种方法

    结点类型 xff1a typedef int datatype typedef struct NODE datatype data struct NODE next Node LinkList 1 不带头结点的头插入法创建链表 每创建一个结

随机推荐

  • syslog-ng

    syslog ng配置 March 13th 2012 绚丽也尘埃 Leave a comment Go to comments syslog ng的配置非常简单直观 xff0c 于是乎配置好看看怎么用它实时收集日志 有两台服务器 xff0
  • CMAKE总结(1) .lib .dll .a .so libx.dll libx.dll.a

    2019独角兽企业重金招聘Python工程师标准 gt gt gt win 对应 linux lib a dll 注 so 注 xff1a win中若使用 dll需要一个附带的引入库 lib win gcc中若使用 dll需要一个附带的因入
  • curl命令详解

    cURL 1 手册页 名称 cURL transfer a URL 摘要 cURL 选项 URL 描述 cURL 是一个向服务器或从服务器传输数据的工具 xff0c 它支持HTTP HTTPS FTP FTPS SCP SFTP TFTP
  • curl命令常见用法汇总 good

    curl是一种命令行工具 xff0c 作用是发出网络请求 xff0c 然后得到和提取数据 xff0c 显示在 34 标准输出 34 xff08 stdout xff09 上面 curl是一个强大的命令行工具 xff0c 它可以通过网络将信息
  • Linux编程之select

    select系统调用的的用途是 xff1a 在一段指定的时间内 xff0c 监听用户感兴趣的文件描述符上可读 可写和异常等事件 select 机制的优势 为什么会出现select模型 xff1f 先看一下下面的这句代码 xff1a int
  • DIGEST认证

    为了弥补BASIC认证存在的弱点 xff0c 从HTTP 1 1起就有了DIGEST认证 DIGEST认证同样使用质询 响应的方式 xff08 challenge response xff09 但不会像BASIC认证那样直接发送明文密码 所
  • Linux下搭建一个简单的UDP通信

    基础知识 UDP和TCP的区别 xff1a 1 TCP是面向连接的 xff0c 而UDP是非面向连接的 xff0c 因此TCP更可靠 2 UDP的server端的socket不需要监听 3 二者的server端都需要绑定 代码实现 xff1
  • 四轴飞行器PID调试一周总结

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Arduino 43 XXD 电调 43 1000KV电机 使用PID来调节稳定性 xff0c 今天上午终于调节 x y轴稳定 回想遇到的问题 xff0c 真的是试出来的值
  • 服务器机柜组件是,网络型机柜与服务器型机柜有什么区别

    导读 随着计算机与网络技术的发展 xff0c 服务器以及网络通信设备等IT设备正在向小型化 网络化 机架化的方向发展 xff0c 那么机房对于机柜管理的需求也就日益增长了 那么 xff0c 你们可知网络型机柜与服务器型机柜有什么区别吗 xf
  • live2d模型_使用二次元模型动画人物让自己网站“骚起来”

    预览 直接使用 xff0c 不想将模型或者js文件放到自己的CDN xff0c 则直接按照下面的步骤 下面的地址是我自己的github地址仓库 xff0c 文件一般不会删除 xff0c 直接引入链接即可 node项目 安装需要的js npm
  • 【http】发送POST请求小例子

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 一 HTTP是什么 xff1f 二 使用步骤 一 HTTP是什么 xff1f 请求行 xff08 request line xf
  • python多线程爬取某网站全部h漫画_Python多线程爬虫爬取网页图片

    39 39 39 基于多页面多线程 39 39 39 import os 引入文件模块 import re 正则表达式 importurllib requestimportthreading 连接网页并返回源码 defopen url ur
  • python获取图片像素矩阵_用python处理图片实现图像中的像素访问

    这篇文章主要介绍了关于用python处理图片实现图像中的像素访问 xff0c 有着一定的参考价值 xff0c 现在分享给大家 xff0c 有需要的朋友可以参考一下 前面的一些例子中 xff0c 我们都是利用Image open 来打开一幅图
  • 通信upf是什么意思_管理UPF的方法、装置及系统与流程

    本发明涉及通信领域 xff0c 具体而言 xff0c 涉及一种管理UPF 用户面功能 xff0c User plane function 的方法 装置及系统 背景技术 xff1a 图1是根据相关技术的3GPP演进分组系统的结构示意图 xff
  • signature=eb47f6441363b915ee5eb8456d7928a2,yarn.lock

    THIS IS AN AUTOGENERATED FILE DO NOT EDIT THIS FILE DIRECTLY yarn lockfile v1 abbrev 64 1 version 34 1 1 1 34 resolved 3
  • 绝地求生现在服务器稳定吗,吃鸡服务器不稳定?《绝地求生》国服宣布将首次使用超性能服务器...

    2月26日消息 要说目前最受国内游戏爱好者期待的游戏 xff0c 相信不少小伙伴都会投火遍全球的 绝地求生 一票 xff01 而据最新消息显示 xff0c 为了给玩家们带来更加优秀的游戏体验 xff0c 绝地求生 国服将首次使用超性能服务器
  • 微信服务器是否记录视频信息,微信视频号有访客记录吗 微信视频号可以查看浏览记录吗...

    视频号是微信的一个全新版块 xff0c 我们可以在视频号浏览视频号发布的短视频 xff0c 同时还可以进行点赞 留言 转发等操作 xff0c 那我们自行发布的视频 xff0c 微信视频号有访客记录吗 xff1f 下面就和IT百科一起来看看吧
  • 萨克斯维修服务器,萨克斯常见故障修理方法

    原标题 xff1a 萨克斯常见故障修理方法 1 如果某一按键突然停止工作了 xff0c 那就检测一下相应的弹簧 xff0c 如果是破裂或是遗失 xff0c 可以暂时用硬橡胶带来代替 记住在演奏完毕后要除去橡胶带 xff0c 因为从长远来看它
  • I2C通讯协议介绍

    2019独角兽企业重金招聘Python工程师标准 gt gt gt I2C总线是PHLIPS公司在20世纪80年代推出的一种串行总线 具有引脚少 xff0c 硬件实现简单 xff0c 可扩展性强的优点 I2C总线的另一优点是支持多主控 xf
  • postman linux 使用教程,Postman 的实用功能

    封面图 前言 基础使用 Collection Environment Test Collection Runner 参考资料 关于我 前言 我是一个 Android 开发工程师 xff0c 日常开发中最免不了的就是使用 Postman 进行