前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postman最详使用教程

Postman最详使用教程

作者头像
创译科技
发布2019-08-20 16:19:28
14.4K0
发布2019-08-20 16:19:28
举报
文章被收录于专栏:Node开发Node开发

从分层测试的角度来说,接口测试是必备技能。所以接口测试是非常值得开发人员去进行掌握的。工欲善其事,必先利其器。常见的接口测试工具很多,如:jmeter,soapui,postman等。我个人使用过jmeter以及postman。我个人认为postman还是更为强大的,它不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在调试HTTP请求方面可以说是性价比最高的接口测试产品之一。

postman适用于不同的操作系统,还支持postman浏览器扩展程序、postman chrome应用程序等。但是浏览器插件目前Google已经停止更新了。

关于postman下载相信难不倒各位程序猿,贴下官网下载地址:

代码语言:javascript
复制
https://www.getpostman.com/apps

安装postman后,我们先看看postman打开后的界面:

对功能栏做下基本的说明:

代码语言:javascript
复制
左侧History:最近测试历史记录
左侧Collections:脚本集
主界面:选择Http请求方法,输入请求API地址,在body填写请求参数
主界面send:发送请求
主界面save:保存请求
主界面Cookies code:Cookie管理

Postman界面工具进行简单介绍,下一步介绍如何使用Postman测试HTTP请求。

GET 请求

代码语言:javascript
复制
点击url后面的Params,输入参数及value,可输入多个,会将 参数绑定到url后面
GET可以不填请求头。

可以看到响应体为html。常见的响应体有三种:

代码语言:javascript
复制
1.JSON
2.HTML
3.XML

正常情况下,我们自定义接口都是返回JSON格式的响应体,比如下图我自己写的一个小接口:

POST请求

POST请求测试的时候主要分成四种参数提交方式:

代码语言:javascript
复制
1.表单提交
2.JSON提交
3.XML提交
4.二进制提交

表单提交又分成两种方式:

代码语言:javascript
复制
1.multipart/form-data
2.x-www-form-urlencoded

表单提交分为两种方式,那两者之间的区别是什么呢?这两种方式之间主要有两种区别:

代码语言:javascript
复制
1.multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;
2.x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。

我们先来看下multipart/form-data方式,可以上传文件:

可以看到我使用multipart/form-data方式提交参数,上传了一张图片以及四个正常键值对参数。一般情况下涉及上传功能我们会采用multipart/form-data方式提交数据。

接着我们来看下x-www-form-urlencoded方式提交数据:

如果正常的键值对传参就可以使用x-www-form-urlencoded方式提交数据。但是最常用的post提交数据方式是application/json,一般前端通过ajax提交json参数到后端然后后端返回json格式的响应体给前端。接下来我们来看看JSON方式的参数提交,首先body选择row选项,然后书写要提交的json对象数据,提交方式选择JSON(application/json):

可以看到通过JSON方式提交数据接口正常返回数据了。因为很多情况下接口会限制只允许接收JSON数据,这时候我们就只能使用JSON格式提交数据才能正确获得接口响应。

POST请求三:xml提交

XML提交请求数据比较少见,但是如微信支付回调等接口返回值都要求是xml格式的。这个时候就得使用xml格式去提交数据。

binary提交

使用这种提交方式可以提交二进制文件数据,我正式开发没用过这种提交方式,文件上传我个人比较喜欢form-data方式。

管理用例—Collections

Collections集合:也就是将多个接口请求可以放在一起,并管理起来。通常我们可以将一个项目的接口放在同一个Collection,这样方便查找及统一处理数据。

第一步, 创建Collections,点击右上角+号可以创建一个集合组:

第二步,在Collections里添加请求

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

保存好之后就可以在这里看到啦,之后要再次调用时可以点击这里就可以快速调用了,对于同一个项目需要重复测试的接口就可以将接口添加到集合组中

而且对于collections 我们可以针对不同的请求方式做分组,创建不同文件夹将对应的请求加入不同文件夹

身份验证Authentication

1、Basic Auth

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

2、Digest Auth

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

3、OAuth 1.0

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

4、OAuth 2.0

postman支持获得OAuth 2.0 token并添加到requests中。这种授权方式很常见,在各种第三方登录都是用OAuth 2.0授权,详情可以看我之前的关于第三方登录系列的文章

设置变量

首先在postman使用变量意义何在呢?变量允许你在不同的地方重复使用这个值,如果你有多个API使用相同的域名,你可以保存这个域名作为一个变量,代理重复使用这个变量。借助于postman Script脚本作用,你可以设置一个变量的值,变量主要有以下四种作用域:

代码语言:javascript
复制
1. Global        全局
2. Enviroment    环境变量
3. Local         局部
4. Data          数据

如果一个变量同时处于两个不同的作用域,那么拥有较高级别的作用域优先,作用域优先级从高到低为:

代码语言:javascript
复制
Data ---- > Local ---- > Enviroment ---- > Global

我们将url前缀设置成全局变量:

进入设置全局变量:

然后将我们访问接口前缀改成{{变量名}},用法其实和Vue的变量使用方法一致:

对于Postman的入门使用就介绍到这里,其实Postman还有更多很强大的功能,比如可以通过collection来支持构建请求工作流,自动化测试,请求的导入导出,持续集成等功能,可以串行测试接口,而且内置NodeJS运行时环境,可以执行JS脚本。其实可以自己在使用中去慢慢研究这些功能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿周先森 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 管理用例—Collections
  • 身份验证Authentication
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档