一、Postman是什么
Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。
二、Postman安装
官网下载(FQ)
Download Postman | Get Started for Free
三、Postman常用功能
安装好之后,我们先打开Postman,可以看到界面分成左右两个部分,右边是我们后头要讲的collection,左边是现在要讲的request builder。在request builder中,我们可以通过Postman快速的随意组装出我们希望的request。一般来说,所有的HTTP Request都分成4个部分,URL, method, headers和body。而Postman针对这几部分都有针对性的工具。
URL
要组装一条Request, URL永远是你首先要填的内容,在Postman里面你曾输入过的URL是可以通过下拉自动补全的哦。如果你点击Params按钮,Postman会弹出一个键值编辑器,你可以在哪里输入URL的Parameter,Postman会帮你自动加入到URL当中,反之,如果你的URL当中已经有了参数,那Postman会在你打开键值编辑器的时候把参数自动载入
Headers
点击’Headers’按钮,Postman同样会弹出一个键值编辑器。在这里,你可以随意添加你想要的Header attribute,同样Postman为我们通过了很贴心的auto-complete功能,敲入一个字母,你可以从下拉菜单里选择你想要的标准atrribute
要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变。
如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:
(我们这里是可以传文件的哦)
四、postman高级用法
colletions(接口集合)
在开发过程中,可能会遇到多项目同时开发维护的情况,Postman友好的提供了colletions功能,类似与项目文件夹一样,可以把归属于同一类的接口分类到一起,便于管理维护。
点击NEW -> 选择collection,创建一个项目空间。
输入项目名称,点击create。
每个项目会有多个接口,有些是一类功能,例如,用户管理接口,文章列表接口,Postman提供folder目录来进行细致的分类。
选择一个项目,点击Add Folder
输入目录名称,点击create
每个接口都可以归类到某个项目,或某个项目的子目录中。
Environment(环境变量)
Postman允许定义自己的环境变量(Environment),最常见的是将测试 URL 进行定义成变量的形式,这样随着你的域名怎么变,URL 就不用变更,非常方便。除此之外,也可以将一些敏感的测试值定义为环境变量,比如密码。接下来,来看下怎么新建一组环境变量,如下操作打开环境变量的管理入口:
打开管理环境变量的窗口,输入名称,添加一组键值对,如下图所示:
环境变量要以双大括号的方式来引用,可以在右上方下拉框处选择相应的环境变量,我们实测一下刚才添加的Url的变量:
通过脚本设置变量
Postman允许用户自定义脚本,并提供了两种类型的脚本:
Pre-request Script:执行request请求前先运行,可以在里面预先设置些所需变量
Tests:request返回后执行的,可以对返回信息进行提取过滤,或者执行一些验证操作
例子
获取如下返回信息中的user_id值:
// 假设服务端返回的Body内容如下:
{
"token": {
"user_id": "2079876912",
"access_token": "26A90E317DBC1AD363B2E2CE53F76F2DD85CB172DF7D813099477BAACB69DC49C794BAECEDC68331",
"expires_at": "2016-06-22T12:46:51.637+0800",
"refresh_token": "26A90E317DBC1AD3CD1556CF2B3923DD60AEBADDCBC1D9D899262A55D15273F735E407A6BEC56B84",
"mac_key": "4FAhd4OpfC",
"mac_algorithm": "hmac-sha-256",
"server_time": "2016-06-15T12:46:51.649+0800"
}
}
在Tests中对user_id值进行提取并赋值成全局变量:
// 判断是否存在'user_id'值
tests["Body contains user_id"] = responseBody.has("user_id");
if(tests["Body contains user_id"]){
// 将返回信息解析成对象
var responseData = JSON.parse(responseBody);
tests["value_user_id"]=responseData.token.user_id
// 设置全局变量
postman.setGlobalVariable("user_id",tests["value_user_id"]);
}else{
postman.setGlobalVariable("user_id","默认user_id");
}
五、postman快捷键
作为一名优秀的测试攻城狮,将自己熟悉的测试工具,以及前沿工具,用到极致,这要是一件足矣体现你是"了解"还是"熟练"还是"精通"吧
听到上面几个词,是不是跟你简历描述的技能词汇相似,所以不要小看这些工具操作细节性的快捷操作,也许往往正是你能力的表现;今天就推送一下小技巧与快捷键操作
针对人群:基于Postman使用前提 # windows/Linux
六、其它小知识
# 转化请求为代码 :点击每个请求右边cookies右边的code可以将请求转化为代码形式
# 保存响应数据:在请求头栏send按钮旁有一个向下的箭头,点击箭头点击send and download 会执行请求并且将请求保存到自定义路径
# 搜索Json响应数据:在响应栏右侧有一个搜索的按钮,可以用于搜索响应的json数据,输入关键词即可
上面就是对Postman常用快捷键以及使用小技巧,做一个总结,希望在你们的工作中对你们有帮助。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)
文档获取方式:
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取