Postman使用技巧
Postman是什么
Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。
Postman安装
官网下载(翻墙)
https://www.getpostman.com/downloads/
蓝奏云
https://www.lanzous.com/i2en5xc
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
Method
要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变。
Request Body
如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:
- form-data
- x-www-form-urlencoded
- raw
- binary
(我们这里是可以传文件的哦)
postman高级用法
colletions(接口集合)
在开发过程中,可能会遇到多项目同时开发维护的情况,Postman友好的提供了colletions功能,类似与项目文件夹一样,可以把归属于同一类的接口分类到一起,便于管理维护。
- 点击NEW -> 选择collection,创建一个项目空间。
- 输入项目名称,点击create。
colletions folder(集合中的文件夹)
每个项目会有多个接口,有些是一类功能,例如,用户管理接口,文章列表接口,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");
}
实践案例
项目接口分类管理
登录获取token并设置为全局变量
接口使用登录后的token
Postman使用技巧的更多相关文章
- Postman 使用技巧之多环境测试及接口依赖关系处理
一.前言 在日常开发中,除了正常的单元测试,某些情况我们还需要测试 HTTP 接口,团队中目前使用的是「 Postman 」这款 API调试 . HTTP 请求工具.通常我们将经常要测试的接口按照项目 ...
- postman 进阶技巧
cookie 清除缓存 code 生成接口自动化测试脚本 响应部分 pretty 响应以json或xml显示 raw 响应以文本显示 preview 以HTML网页行驶显示 断言 断言:用于判断接口请 ...
- postma概念与使用
Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件.Postman作为一个chrome的插件,你可以打开chrome,在chrome ...
- Postman使用小技巧 - 用Postman生成Request代码
Postman这款工具可以让你很方便的测试你的Web API,那如果你实在是没办法用Postman,必须手写代码,又或者你有别的需求是Postman没法实现的,你必须写一个特殊的script或App来 ...
- Postman使用小技巧
Postman使用小技巧 2017-09-13 目录: 1 自动生成流水号2 保存响应结果 1 自动生成流水号 返回 为了让接口具有幂等性,在设计时,往往有一个字段是唯一的(比如流水号,交易编号等), ...
- Postman的一个使用技巧----设置环境变量
相同的api接口因为部署环境不同,分为test和pre_production 打开Postman,建两个测试集,分别测试测试环境test和演练环境pre_production 下面来介绍一下Postm ...
- Postman实用小技巧
Postman使用小技巧 软件测试工程师 张江涛 废话就不多说了,直奔主题,这里的技巧就以对话方式来阐述吧. 问:公司的环境也太多了吧,本地.开发.测试以及生产环境,这么多环境,每次使用的时候都要来回 ...
- Postman 使用小技巧/指南
一.什么是 Postman(前世今生) Postman 诞生于 2013 年,一开始只是 Abhinav Asthana 着手于解决 API 测试的工具,随着这个工具的使用者和需求迅速激增,Abhin ...
- Postman如何做接口测试,那些不得不知道的技巧
Postman如何做接口测试1:如何导入 swagger 接口文档 在使用 postman 做接口测试过程中,测试工程师会往界面中填入非常多的参数,包括 url 地址,请求方法,消息头和消息体等一系列 ...
随机推荐
- 《Python学习手册 第五版》 -第9章 元组、文件与其他核心类型
本章的主要内容是介绍了元组和文件的使用,同时作为介绍数据类型的最后一个章节,本章也总结和复习了前面所介绍的核心数据类型,总结的部分在此不多介绍,因为前面章节都有,在此就重点介绍以下两点内容 1.元组 ...
- HTML5与HTML4的区别-----新增的常用标签
做前端工程师这么长时间了, 对HTML5的一些标签的用法还不是很熟悉.这篇随笔算是对学过的知识的梳理.常言道,温故而知新 ~哈哈.里面有不正确的地方还望各位大牛们指正,评论. 在做网页时习惯把网页分 ...
- Java 添加OLE对象到Excel文档
本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...
- linux下使用gdb对php源码调试
title: linux下使用gdb对php源码调试 date: 2018-02-11 17:59:08 tags: --- linux下使用gdb进行php调试 调试了一些php的漏洞,记录一下大概 ...
- package.json(node)中,多个命令行合并一条
1. ‘&’ 并行执行顺序,同时执行 "dev":"node test.js & webpack" 2.'&&'继发顺序,执行前 ...
- vue自带的实例属性和方法($打头)
Vue 实例内置了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来.例如: var data = { a: 1 } var vm = new Vue({ el: '#examp ...
- Arm开发板+Qt学习之路-multiple definition of
问题描述:在一个头文件a.h中定义一些变量x,在其他.c文件中(b.c,c.c)要用到.用一般的全局变量的方法,编译时总是提示error:multiple definition of x 问题分析:o ...
- Blazui 常见问题:我更新了数据,为什么界面没刷新?
首发于:http://www.blazor.group:8000/topic/reply?tpid=9 开门见山,不介绍,不废话 建议食用本文前先食用 https://www.cnblogs.com/ ...
- const与指针、引用
const与指针类型 定义一个指针*p: const int* p = NULL; int const* p = NULL; int* const p = NULL; 上面两行定义完全等价,第三行则不 ...
- Java代码优化实践
1. 尽量指定类的final修饰符 带有final修饰符的类是不可派生的.指定一个类为final,则该类所有方法都是final.Java编译器会会找机会内联所有否final方法,这样能够使性能平均 ...