postman的基本使用

2,785 阅读7分钟

知识梳理: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重要提示:

由于2018年初chrome停止对chrome应用程序的支持,你的postman插件可能无法正常使用了。目前chrome应用商店能使用的就是chrome扩展程序和主题背景。在这里建议大家直接下载它的应用程序进行使用

  • 下载地址

    • 下载地址:www.postman.com/downloads/

      image.png

    • image-20211122143504988.png

    • 下面一路傻瓜式安装即可

      • 安装完成后的界面如下
        • image-20211122143602450.png
    • 个人的操作习惯,将主题设置成黑色

      • image-20211122143734093.png

操作环境

postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

Postman的基础功能

这里写图片描述

Postman sending requests

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

img

URL

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

这里写图片描述

Method

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

这里写图片描述

请求区域详细介绍

在这里插入图片描述

  • Authorization:验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。

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

  • Body:post请求时必须要带的参数,里面放一些key-value键值对

  • Pre-requerst Script:可以让你在请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。

  • tests:tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量以及对错情况。这个后面会进行详解,它也可以用来设计用例,比如要测试返回结果是否含有某一字符串

  • form-data:它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型**,但该文件不会作为历史保存**,只能在每次需要发送请求的时候,重新添加文件)post请求里较常用的一种

    • 在这里插入图片描述
  • x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对;

  • raw:可以上传任意类型的文本,比如textjsonxml等,所有填写的text都会随着请求发送;

  • binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交;

响应示例

请求的响应状态码,响应时间,以及响应大小。

这里写图片描述

响应体示例

响应的格式可以有多种。

img

GET 请求

点击url后面的Params,输入参数及value,可输入多个,会将参数绑定到url后面。

GET可以不填请求头。

响应体有三种:JSONHTMLXML。正常情况下,自定义接口都是返回JSON格式的响应体。

POST请求

POST请求测试的时候主要分成四种参数提交方式:表单提交JSON提交XML提交二进制提交

  • 表单提交方式有两种方式:
    • multipart/form-data(既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息)
    • x-www-form-urlencoded(只能上传键值对,并且键值对都是间隔分开的)

管理用例 Collections

Collections集合:也就是将多个接口请求可以放在一起,并管理起来。一个工程一个Collection,这样方便查找及统一处理数据。

第一步, 创建Collections

点击上图中的带+号的图标,输入Name:”abc”,Description:”示例demo”,点击Create按钮即创建成功一个Collections.

第二步,在Collections里添加请求

在右侧准备好接口请求的所有数据,并验证后,点击save按钮。

导出和导入接口集:

postman支持非常方便的导入和导出接口集,继续操作如下:

导出

  • image-20211122152239869.png
  • image-20211122152312032.png
  • image-20211122152342617.png

导入:

  • image-20211122152426292.png
  • image-20211122152522405.png
  • 在这里插入图片描述
  • ok,这样就是简单的导入导出collection集合

身份验证Authentication

  • Basic Auth

    • 是基础的验证,会直接把用户名、密码的信息放在请求的 Header 中,输入用户名和密码,点击 Update Request 生成 authorization header
  • Digest Auth

    • Digest Auth为摘要认证,消息摘要式身份认证是在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header
  • OAuth 1.0

    • postmanOAuth helper支持OAuth 1.0,是基于身份验证的请求。OAuth不用获取access token, 你需要去API提供者获取的。OAuth 1.0可以在header或者查询参数中设置value
  • OAuth 2.0

    • postman支持获得OAuth 2.0 token并添加到requests中。这种授权方式很常见,在各种第三方登录都是用OAuth 2.0授权。