最强PostMan使用教程(1)-程序员宅基地

技术标签: postman  chrome  谷歌  测试  点火三周的Postman专栏  chrome插件  

最近需要测试产品中的REST API,无意中发现了PostMan这个chrome插件,把玩了一下,发现postman秉承了一贯以来google工具强大,易用的特质。独乐乐不如众乐乐,特此共享出来给大伙。

Postman介绍

Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。其主要功能包括:

  • 模拟各种HTTP requests

从常用的 GET、POST 到 RESTful 的 PUT 、 DELETE …等等。 甚至还可以发送文件、送出额外的 header。

  • Collection 功能(测试集合)

Collection 是 requests的集合,在做完一個测试的時候, 你可以把這次的 request 存到特定的 Collection 里面,如此一來,下次要做同样的测试时,就不需要重新输入。而且一个collection可以包含多条request,如果我们把一个request当成一个test case,那collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API.而且 Collection 还可以 Import 或是 Share 出來,让团队里面的所有人共享你建立起來的 Collection。

  • 人性化的Response整理

一般在用其他工具來测试的時候,response的内容通常都是纯文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。这会造成阅读的障碍 ,而 Postman 可以针对response内容的格式自动美化。 JSON、 XML 或是 HTML 都會整理成我们可以阅读的格式

  • 内置测试脚本语言

Postman支持编写测试脚本,可以快速的检查request的结果,并返回测试结果

  • 设定变量与环境

Postman 可以自由 设定变量与Environment,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如url,postman允许我们设定变量来保存这些值。并且把变量保存在不同的环境中。比如,我們可能会有多种环境, development 、 staging 或 local, 而这几种环境中的 request URL 也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不用修改我们的测试脚本,而测试不同的环境。

安装Postman

Postman作为一个chrome的插件,你可以打开chrome,在chrome webstore里面找到。当然,如果是在国内,你需要翻墙,否则的话,你只能百度一下,搜索postman的安装包自己安装到chrome上(这里就不赘述了,有很多类似的文章)。这里需要提一下的是,你可以不用打开chrome而直接使用Postman,具体的方法是:

选项->更多工具->扩展程序

详细信息->创建快捷方式->‘全部勾上’

这样你就可以在任何地方启动你的Postman了

Postman sending requests

安装好之后,我们先打开Postman,可以看到界面分成左右两个部分,右边是我们后头要讲的collection,左边是现在要讲的request builder。在request builder中,我们可以通过Postman快速的随意组装出我们希望的request。一般来说,所有的HTTP Request都分成4个部分,URL, method, headers和body。而Postman针对这几部分都有针对性的工具。

URL

要组装一条Request, URL永远是你首先要填的内容,在Postman里面你曾输入过的URL是可以通过下拉自动补全的哦。如果你点击Params按钮,Postman会弹出一个键值编辑器,你可以在哪里输入URL的Parameter,Postman会帮你自动加入到URL当中,反之,如果你的URL当中已经有了参数,那Postman会在你打开键值编辑器的时候把参数自动载入

这里写图片描述

Headers

点击’Headers’按钮,Postman同样会弹出一个键值编辑器。在这里,你可以随意添加你想要的Header attribute,同样Postman为我们通过了很贴心的auto-complete功能,敲入一个字母,你可以从下拉菜单里选择你想要的标准atrribute

这里写图片描述

Method

要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变

这里写图片描述

Request Body

如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:

  • form-data
  • x-www-form-urlencoded
  • raw
  • binary

(我们这里是可以传文件的哦)

演示

我这里创建一条发送给google geocode的request,看看是啥结果:

这里写图片描述

注意,在URL里面我使用了变量googleMaps,并用{ {}}调用它,这里是类似于AngulaJs的语法(果然是同一家人),其返回值是:http://maps.googleapis.com/maps/api/geocode/json。而这个变量我是定义在我的环境GoogleApiTest里面的。这部分的内容会在接下来的文章里面讲到。

点击了Send之后,可以在Postman上直接看到response的内容,内容很漂亮,Postman根据内容检索自动按JSON的格式显示出来,同时我们可以清楚的看到status code和花费的时间。

这里写图片描述

写到这,我想大家已经能够了解如何用Postman组装Request并且查看Response的内容了,那我们怎么用Postman去做测试呢,且听下回分解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013613428/article/details/51557804

智能推荐

linux_sed/grep 匹配不起作用/CRLF导致shell脚本无法正常运行_linux cat有输出 grep无输出-程序员宅基地

文章浏览阅读2.8k次。文章目录linux grep/sed 匹配不起作用匹配异常案例生成引发问题的powershell脚本cat 的查看选项关于控制符/空白字符/非打印字符显示引发问题的文本文件表面内容实际内容正常内容总结可能的解决办法linux grep/sed 匹配不起作用在某些情况下,sed和grep的可能无法正常工作其中,我认为最大的可能就是编码或者控制字符的问题匹配异常案例我在Windows端用powershell的函数创建了一个包含多个时间戳的文件生成引发问题的powershell脚本Write_linux cat有输出 grep无输出

SVG 技术简介和应用场景分析_svg和pcs的区别-程序员宅基地

文章浏览阅读713次。简介应用场景绘图滤镜动画_svg和pcs的区别

$ref的用法_\$ref-程序员宅基地

文章浏览阅读1.6k次。this.$ref的用法<div id="app"><input type="text" ref="input1"/><button @click="add">添加</button></div><script>new Vue({el: "#app",methods:{add:function(){this.$refs.input1.value ="22"; //this.$refs.input1 _\$ref

Linux日志切割神器Logrotate_logrotate切割日志的优缺点-程序员宅基地

文章浏览阅读823次。logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录。为什么要切割日志文件?大文件被切割后,访问速度大大加快 按天切割后,方便定位程序问题 删除旧的日志文件(比如2个月之前的),可以节省磁盘空间1、配置文件介绍Linux系统默认安装logrotate工具,它默认的配置文件在:/etc/logrotate.conf/etc/logrotate.d.._logrotate切割日志的优缺点

嵌入式入门 -第1章 学嵌入式从STM32开始-程序员宅基地

文章浏览阅读352次。1.1 STM32简介ARM公司简介ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。图1-1ARM(Advanced RISC Machines)有3..._stm嵌入式精髓

caffe源码解读(11)-triplet_loss_layer.cpp_三元组损失 caffe-程序员宅基地

文章浏览阅读500次。定义TripletLoss" role="presentation">TripletLossTripletLossTriplet Loss 的提出,是在这篇论文中——FaceNet: A Unified Embedding for Face Recognition and Clustering,论文中对TripletLoss" role="presentation">TripletLossT_三元组损失 caffe

随便推点

Android同步锁:Synchronized的小实验_android 函数中synchronized会锁住传参吗-程序员宅基地

文章浏览阅读1.1w次。今天在看博客的时候突然遇到了同步代码块——Synchronized,猛然间想到自己这次面试的时候面试官特意问了关于java线程同步锁的问题,当时自己也是知道那么一点单例模式,就主要聊了下单例模式,而同步代码块却比较陌生,所以就 特地围绕这点代码块折腾起来。 下面是这次的过程和结果,大家一起来感悟一下;/** * 同步线程 */class SyncThread implements Runna_android 函数中synchronized会锁住传参吗

ABySS使用文档_abyssorangemix2 安装-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏2次。作者:龙炎联系邮箱:[email protected]时间:2016/07/25 一.ABySS的功能分别为: 组装paired-end库(paired-endlibrary),组装多个库(multiplelibraries), 组装长距离的mate-pair库(Long-distance mate-pair libraries),Resc_abyssorangemix2 安装

关于矩阵的编程题(C语言版,持续更新~~~~~~)_c语言普通矩阵"。请你帮忙他编程构造如下的普通矩阵(规则参看样例)。输入一个正整-程序员宅基地

文章浏览阅读2.4k次,点赞6次,收藏17次。1、矩阵对角线求和(分别求出主对角线和副对角线元素的和)2、矩阵对角线求和(主对角线和副对角线元素总和)3、4、第1题的思路:这里通过使用二维数组分别求出矩阵主对角线和副对角线元素的和。本题以三阶矩阵为例。在线性代数中,矩阵的下标是从1开始,例如a[1][1]表示第一行第一列的元素。但是如果在使用二维数组的情况下,矩阵的下标是从0开始的a[0][0]表示第一行第一列的元素。a11主对角线中ij副对角线,从右上到左下,通过观察我们可以发现在3*3矩阵中,在线性代数中副对角线上的元素行列坐标相_c语言普通矩阵"。请你帮忙他编程构造如下的普通矩阵(规则参看样例)。输入一个正整

2.STM32F427llHX(大疆A板) 点亮小灯(库函数版本)_stm32f427引脚图-程序员宅基地

文章浏览阅读955次。基于空白模板点亮小灯1.在Template文件夹中新建HARDWARE文件夹2.在HARDWARE文件夹中新建LED文件夹3.从正点原子实验1中复制led.c和led.h到LED文件夹中4.右键点击 Template,选择 Manage Project Items,在 Groups 一栏添加HARDWARE,往 Group 里面添加我们需要的文件:led.c5.添加..\HARDWARE\LED 头文件路径编译结果下载到板子发现小灯不亮原理图led.c中设置引脚是f407的,需_stm32f427引脚图

HDU DNA Sorting (树状数组求逆序对)-程序员宅基地

文章浏览阅读329次。这题就是求逆序对然后根据逆序对大小排序暴力可解!我选择的是树状数组,这题如果变种,数据过大,或者需要离散化,暴力就不好解决了离散化树状数组这题浪费挺长时间的,主要是t数组忘记清0.。导致后面的数据全部错误#include#include#include#include#include#include#includeusing namespace st_hdu dna sorting

Qt:基于Qt开发的轻量级HTTP/HTTPS服务器_qt http服务端地址怎么设置-程序员宅基地

文章浏览阅读3.5w次,点赞24次,收藏93次。JQHttpServer是基于Qt开发的轻量级HTTP服务器,目前支持GET和POST两个协议。底层有TcpSocket和LocalSocket两个版本,方便使用。用到的Qt库有:corenetworkconcurrenttestlib(测试用,运行不需要)理论上可以部署到任何Qt支持的平台上。推荐使用Linux系统或者Unix系统,因为在5.7后,Qt更换了Unix相关系统的底层模型,从_qt http服务端地址怎么设置

推荐文章

热门文章

相关标签