一、Postman背景介绍

用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

二、Postman的操作环境

您将在Postman的右上角看到选定的环境状态,在环境选择器中选择了任何活动环境。在左侧的环境中,您可以访问所有环境,然后选择设置活动图标 以设置活动图标 激活环境。选择一个环境以将其打开以在选项卡中进行编辑

要创建新环境,请选择左侧的Environments并选择+。

为您的环境输入一个名称,并使用您需要的任何变量对其进行初始化——您也可以稍后为环境指定变量。

选择保存以保存您添加的任何环境变量。

访问环境

您可以从 Postman UI 和请求元素(包括 URL、参数、正文数据和测试脚本)访问环境变量。

要查看所有环境,请选择侧栏中的环境。

您可以在此处添加、共享、复制、下载、管理访问、删除和从工作区移除共享环境。您还可以通过选择Globals访问您的全局变量。

要查看环境中的变量,请选择其名称。您可以在此处编辑、添加和删除环境中的变量。

您可以在预请求和测试代码中访问当前环境变量值

pm.environment.get("variable_key");

编辑环境变量

您可以通过从左侧的环境中打开环境来编辑变量,或者通过打开 Postman 右上角的环境快速查看图标 并选择快速查看图标 编辑来编辑变量。

编辑环境名称或变量的名称、类型和值,记住初始值将与您的 Postman 帐户同步,并与任何有权访问该环境的协作者共享。编辑完成后选择保存。

如果您对环境具有查看者访问权限,您将 锁定图标 在名称旁边看到一个锁定图标,表示它是只读的,并且您将只能编辑当前值,该值仅对您可见,不会与您的同步邮递员帐户或工作区。要编辑初始值,您需要Request Access。

您可以通过环境快速查看直接在活动(当前选定)环境中编辑变量的当前值。选择编辑图标 编辑图标 以编辑您选择的值。

您还可以从测试脚本更新环境变量值。

从脚本设置环境变量

您的预请求和测试脚本可以更新环境变量值。

使用pm.environment在活动(当前选择的)环境中设置环境变量:

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

您只能在具有编辑权限的环境中从脚本创建新变量。如果您在对环境具有查看者访问权限的脚本中更新或取消设置值,则该更改将仅对您可见,而不会与您的团队共享。

分支环境

您可以分叉环境来更改它们而不影响它们的基本版本,或者在没有编辑器访问权限的情况下为它们的开发做出贡献。要创建一个环境:

将鼠标悬停在侧边栏中的环境上,然后选择 更多操作图标 环境名称右侧的更多操作图标。

选择创建分叉。

您还可以通过 在环境概览选项卡中选择Fork来创建一个环境。 叉子图标

您可以编辑环境分支并根据需要使用它,也可以创建拉取请求来更新原始环境。

查看拉取请求、分叉和环境详细信息

您可以从右侧边栏中查看有关环境的所有拉取请求、分叉和详细信息:

要查看拉取请求,请选择拉取请求图标 拉取请求图标

要查看分叉,请选择分叉图标 叉子图标

要查看有关环境的其他信息,包括其 ID、作者以及使用它的任何模拟服务器或监视器,请选择信息图标

三、Postman下载安装

下载postman

https://www.postman.com/downloads/

1、双击postman安装包,全自动安装,不需要任何人干预

2、安装完成后,会默认打开英文注册页面,或者手动打开注册页面

3、自行翻译英文页面提示,根据提示完成注册,完全免费

填入:邮箱、用户名、密码即可,注意要符合postman要求的规范

安装注意事项

postman有个BUG,不能重复安装,如果重复安装,新安装的版本必须大于已安装的版本。

四、Postman的基础功能

五、接口请求流程

1、 Postman 安装之后, 可以进行一下更新。

使用的时候最好可以注册一个账号。

先创建一个workspace,用于管理接下来使用过程中产生的内容。

2、接口测试的基本流程: 本质就是抄。

1、了解接口信息 : 由开发提供接口文档, 或者通过抓包来获取接口报文信息。

2、 设计测试用例

3、 执行测试用例: 用postman等工具执行。 请求发包。

4、验证返回结果。

3、 HTTP协议接口报文: 理解成寄快递。

接口报文分为请求和返回,格式其实是相同的。

请求

请求四要素: http方法 、url地址、请求头 、请求体。

请求行: http方法(邮寄方式) url(地址) http协议版本

请求头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)

除了特殊指定的要填的请求头以外,注意 post请求 需要关注content-Type请求头,表示的是请求体的编辑格式。(快递的运输方式 常温/冷冻)

常见的content-Type类型:

application/x-www-form-urlencoded: url编码格式: 键=值&键=值

application/json: json格式字符串: {“键”:值,”键”:值}

postman选 raw格式之后,下拉栏选择json

注意:复制json格式的请求体的时候,如果从浏览器开发者工具中复制,记得确认键必须带双引号。最好view source 之后再复制。

multipart/form-data: 用于进行文本和文件的混合传递。 完成文件上传。

选择postman中的 form-data进行参数填写。

注意: Name空格中,可以选择下拉 file或者text。

文件用file上传,文本用text上传。

text/xml: 用xml格式来进行传递。 值

选择 body中的 raw格式 ,下拉栏用xml进行填写:

注意:content-type postman会默认使用 application/xml,需要自己确认,到底是text/xml还是application/xml,如果不对,进行修改,最后是直接去掉原有的,加一个新的content-type头。

请求体 : 请求头之后空一行 ,之后的就是请求体。 (寄的东西)

返回

返回行:http协议版本 HTTP状态码(物流状态) 状态码描述

返回头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)

返回体 :返回头之后空一行,就是返回体 (对方寄回的东西)

返回:重点验证返回体。

4、http协议抓包:

使用浏览器开发者工具抓包:

在网页上右键检查,或者按下F12,打开开发者工具,切换到network 界面。

注意:记得勾选 preserve log。

请求体中:request payload (json格式、xml格式和普通文本) 和form data (文件和x-www-form-urlencoded格式)

使用 fiddler /charles 等http抓包工具抓包:

在fiddler菜单右侧,用inspector 选项进行查看,选raw(原始)格式能够直观看到报文格式。

5、用postman发送报文请求:

1、http 方法 和 url 进行填写。 注意 url中最后带上的空格也会有影响,所以千万注意。

2、请求头一般先不做过多关注,先用默认的,除非有明确的说明需要设置某个请求头。

3、请求体在postman 请求栏的body中进行设置。选择相应的content-type格式进行编辑,可以自动设置,不用自己设置 请求头中的 content-type。

6、unicode编码: \u 4位16进制数,用于表示某个特殊的字符。

例如:\u7f8e\u56fd\u963f\u62c9\u65af\u52a0

7、get和post的核心区别:

get方法,通常不带请求体。

而post方法可以携带请求体。

六、管理用例—Collections

Collections集合:也就是将多个接口请求可以放在一起,并管理起来。什么样的接口请求可以放在同一个collection里?

在这里告诉大家可以这样:一个工程一个Collection,这样方便查找及统一处理数据。

第一步, 创建Collections

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

第二步,在Collections里添加请求

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

保存好之后就可以在这里看到啦,之后要再次调用时可以点击这里,方便快捷有木有

collections 管理精细化, 这里我们针对不同的请求方式做分组

添加子文件夹

这是我们精细化划分之后的结果, 是不是看着有条理多了?

七、身份验证Authentication

1、Basic Auth

是基础的验证,所以会比较简单

会直接把用户名、密码的信息放在请求的 Header 中

2、Digest Auth

要比Basic Auth复杂的多。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header。

3、OAuth 1.0

postman的OAuth helper让你签署支持OAuth

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

4、OAuth 2.0

postman支持获得OAuth 2.0 token并添加到requests中。