一、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中。