知识梳理:Postman使用详解

时间:2024-07-12 15:28:49

背景介绍

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 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

img

URL

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

这里写图片描述

这里写图片描述

Authorization

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

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:它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。);post请求里较常用的一种。•x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对。•raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送。•binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交。

img

img

Pre-requerst Script

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

Tests

tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests

的tab上面显示一个通过的数量以及对错情况。

响应示例

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

这里写图片描述

这里写图片描述

响应体示例

响应的格式可以有多种。

img

img

GET 请求

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

GET可以不填请求头。

响应体有三种:JSON,HTML,XML。正常情况下,自定义接口都是返回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支持非常方便的导入和导出接口集,继续操作如下:

导出

img

img

img

img

导入

环境变量设置

环境变量:Global---全局;Enviroment --- 环境变量;Local --- 局部;Data ---- 数据

优先级从高到底:Data ---- > Local ---- > Enviroment ---- > Global

postman支持很方便的设置环境变量以及全局变量,并可以一键切换不同环境。

1:可以一键切换环境,选择No Environment则不使用环境变量,仅适用全局变量;

2:可以查看当前环境中的变量和全局变量(Globals)的值。

img

img

身份验证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授权。