Postman 工具入门学习
其他相关博文:Jmeter接口工具学习
一.postman 工具介绍
- 简述
postman 是谷歌开发的一款功能强大的网页调试与发送网页 http 请求并能运行测试用例的接口工具。博主当前使用版本为 postman v7.0.6 - 功能
模拟请求,collection 集合,格式自动美化,内置测试脚本语言,环境变量,文档规范,postman 社区等。但是我个人就觉得虽然 postman 软件做的美观、规范,但是功能和灵活性上比开源的 jmeter 要差远了
(下面主要是从 postman 工具整个控件按钮布局来讲解 postman 的功能使用,从上到下从左到右的控件顺序来讲解功能,然后把具体重要的功能再做讲解,把一些小细节的功能放在最后来讲解)
二.postman 菜单栏
菜单栏主要有四大按钮
- File:主要为新建,窗口操作,导入,设置等功能
- Edit:主要为鼠标右键的一些常规操作
- View:主要为全屏放大缩小,页面效果展示,展示控制台等视图功能
- Help:主要为 postman 工具的在线帮助,twitter,更新以及 github 等功能
三.postman 工具栏
- New 按钮
后面会详细讲解 New 按钮功能 - Import 按钮
引入 Collections 请求集合,cURL,RAML,WADL 和 Swagger files - Runner 按钮
这里常做压力测试,后面详细讲解 - Open New 按钮
这里做创建新窗口 - My Workspace 我的工作空间
这里设置个人工作空间和团队工作空间 - Invite 邀请
发送邮件来邀请加入 team 使用 postman - 同步按钮
- 录制按钮
- settings 设置
postman 工具进行设置 - Notifications 通告
通告 - 关于我们按钮
tweet about us - 我的账号按钮
- Upgrade 按钮
显示 postman 中的一些信息
四.postman 底边工具栏
- Hide sidebar:隐藏左侧边栏
- Find:查找功能
- Postman console:打开 postman 控制台
- Bootcamp:打开 postman 学习训练营
- Build:切换为编辑模式,build 和 browse 中来回切换
- Browse:切换为浏览模式,browse 和 build 中来回切换
- Two pane view:把 response 从下边提到右边,变成右侧边栏
- Keyboard shortcuts:设置 postman 的快捷键
- Help:提供 postman 的一些文档
五.postman 左侧边栏
- filter 框
按照请求中数据进行搜索 - History 历史
查看历史请求记录,一般按照月份来记录请求,Clear all 按钮来清理所有,Save Responses 来保存响应数据 - Collections 请求集合
这里可以作为一个请求的集合,一次性运行多个请求的时候可以跑这个相应的 Collection ,这里 Trash 可以回复被删除的请求,+ 可以来创建一个新的 Collection 请求集,并且请求集合中可以创建请求等一些操作,如下:
六.postman 请求栏
Request 请求主要分为几大部分:method,url,header,body,response 还有其他晓得细节的功能
- Method:设置 post 请求还是 get 请求亦或者是其他请求
- Url:输入相应的要访问的接口 url。右键点击 url 框,会出现 encode url component 和decode url component 两个选项,这两个选项作用语言文字描述比较麻烦,这里直接上图片,注意一下红框和篮框
- Headers:点击 Headers 来输入请求头,输入 key 后点击 value 的文本框,会自动有提示值出现,右边的 Bulk Edit 可以用来批量编辑信息头,Presets 中可以预先保存信息头数据
- Body:我这里点击的是 post 请求,body 中可以看到 5 个选项,如下:
- none:顾名思义,无数据
- form-data:网页表单传输数据的默认格式,由于是网页表单,值的属性可以是 text 甚至是文件类型
- x-www-form-urlencoded:此模式和 form-data 模式比较像,但是此模式键值对会写入url中,form-data 模式中的键值对不明显写入 url 中,而是直接提交,并且用此模式后在请求头中的 Content-Type 也会自动更改为 application/x-www-form-urlencoded
- raw:选择此模式就可以选择传输原生的 json 数据,并且可以在同一行右边选择数据格式。若写好 json 之后,旁边出现 Beautify 按钮,来自动美化 json 的格式
- binary:此模式可以选择文件,如 image,audio,video,text 等文件
- Response:响应信息部分
- pretty:响应体格式化了 json 和 xml,方便查看
- Raw:显示 text 格式的响应体
- Preview:谷歌浏览器调试中也有此项,由于沙盒的限制,js和图片不会显示在常规格式的响应中,但通过此模式可以查看注入响应的图片信息
- pretty:响应体格式化了 json 和 xml,方便查看
- Params:同样也是 key-value 形式,Params 和 Body 还是有区别的,Params 设置变量请求时,会自动将变量附到请求链接后面
并且这里可以批量编辑 key-value,也很简单,如下图: - Authorization:进行身份验证,诸如输入密码登陆之类的,如下图所示:
这里有多重 type 类型可供选择- Basic Auth:填写用户名和密码,平时很常用的 type
- Digest Auth:摘要身份验证,比 Basic Auth 要复杂的多,使用当前填写的值生成 authorization header,所以生成header前要确保设置正确,若当前的 header 已经存在 postman 会移除之前的 header,界面如下:
- OAuth 1.0:可以让你签署支持 OAuth 1.0 基于身份验证的请求,OAuth 不用获取 access token。OAuth 1.0 可以在查询参数中设置 value,界面截图如下:
- OAuth 2.0:postman 支持获得 OAuth 2.0 的 token 并添加到 requests 中,界面截图如下:
- Inherit auth from parent:从父类继承身份验证,界面截图如下:
- No Auth:不需要授权参数发送时选用此授权
- Bearer Token:无记名令牌,Bearer Token 是安全令牌。任何带有 Bearer Token 的用户都可以使用它来访问数据资源,而无需使用加***。界面截图如下:
- Hawk Authentication:hawk 是一个 HTTP 认证方案,使用 MAC(Message Authentication Code,消息认证码算法)算法,它提供了对请求进行部分加密验证的认证 HTTP 请求的方法,包括 HTTP 方法、请求 URI 和主机。hawk 方案要求提供一个共享对称密匙在服务器与客户端之间,通常这个共享的凭证在初始 TLS 保护阶段建立的,或者是从客户端和服务器都可用的其他一些共享机密信息中获得的。如下网络截图:
- AWS Signature:AWS 的使用者可以使用自定义的 HTTP 方案基于 HMAC 的加密算法去认证
- NTLM Authentication[Beta]:详细功能作用暂未找到中文使用,这里附上 postman 的英文网站路径:https://community.getpostman.com/search?q=ntlm,下面附上截图:
- Pre-requestScript:这里是请求发送之前需要执行的代码片段,如下截图的 js 代码功能是获取 linux 时间戳,然后将获取的 timestamp 设为环境变量
这时,可以在请求头中使用该环境变量,截图如下:
这里要注意了,不只是单个请求可以添加 Pre-requestScript,一个 Collections 也可以添加 Pre-requestScript,那么它将作用于所有 request,截图如下: - Tests:主要用来设计用例,比如测试返回的结果是否含有某一字符串,就可以用到 tests,相当于 jmeter 中的断言,截图如下:
常用代码如下:// 清除全局变量 pm.globals.unset("variable_key"); // 清除环境变量 pm.environment.unset("variable_key"); // 获取全局变量 pm.globals.get("variable_key"); // 获取一个变量 pm.variables.get("variable_key"); // 获取环境变量 pm.environment.get("variable_key"); // 发送一个请求 pm.sendRequest("https://postman-echo.com/get", function (err, response) { console.log(response.json()); }); // 设置环境变量 pm.globals.set("variable_key", "variable_value");
声明:部分图片来源:https://blog.csdn.net/testdeveloper/article/details/80712273
感谢技术的分享支持
七.postman 添加环境变量
点击右上角齿轮状设置按钮
设置好后记得同样在右上角选择你使用的环境(在眼睛按钮左边选择)
使用变量的话就通过 {{base_url}} 这样的方式去使用
在右上角设置变量的齿轮按钮中,也可以设置 global 也就是全局变量,功能如其名字
八.postman 中的 Cookies
有许多业务场景,一定要 api 登陆之后才能访问其他的 api,在请求栏中点击右上方的 Cookies 按钮
然后编辑 Cookies
这个 cookies 编辑页面每一行是一个网站的 cookies,更改某个字段值,直接点进去修改相关字段,如下图:
登陆的话可能 Cookies 名为 sid,domain 比较多。在 Cookies 按钮的右边是 Code 按钮是用来用文本的形式来直接查看传送请求报文。Comments 在 Code 按钮右侧,点击 Comments 按钮可以添加评论信息,注意只有在 Collection 请求中才可以添加 Comments
九.postman 中录制功能
录制功能界面截图如下:
十.postman 中的 document 文档
postman 的文档功能比 Jmeter 完整多了
这一块内容放在下面继续详细讲解
十一.postman 中的压测
项目上一般用 Jmeter 来做压测,很灵活,postman 也能做压测
可以选择做并发的 collection,还可以选择自己配置的环境,自己设置的迭代次数,和每次间隔时间等
十二.postman 中的 New 按钮
除了能创建 request 请求,collections 集合,environment 环境变量,还可以创建其他,诸如 documentation 测试文档,mock server 模拟服务器,monitor 监视器
- Documentation:文档这块,对于接口开发和测试的人来说,文档是想当重要的,postman 对于文档这块有很好的支持,这一点是我在 jmeter 中没有看到的
- Mock server:很可惜,免费用户对该功能有使用次数限制。使用时通常将某个相应结果保存为 examples 模板,然后创建 mock server 来模拟要访问的服务器
- Monitor:与 mock server 都为免费版的使用次数受限。监视器的作用是定期运行接口,收集检查其性能和相应结果,咱们可以将监视器设为 5 min 运行一次,但是只支持公网 IP 请求,其中有一点需要注意的是,免费版的不提供监视团队 collection 功能
其他相关博文:Jmeter接口工具学习