Postman教程大全-飞
发布时间: 2023-07-06

推荐一款接口测试工具!POSTMAN! 简单来说,四个词,简单实用大方美观!

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

Postman背景介绍

用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

Postman的操作环境

postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

Postman重要提示:

由于2018年初chrome停止对chrome应用程序的支持,你的postman插件可能无法正常使用了。目前chrome应用商店能使用的就是chrome扩展程序和主题背景。

在这里建议大家直接下载它的应用程序进行使用

贴上官网下载地址:Postman | Download Postman App

记得选择下载的版本


这里我选择的是windows64位系统

下载完成后双击安装吧,安装过程极其简单,无需任何操作




ok!

成功进入postman页面后,接下来我们正式进行postman的系统教程吧

设置postman主题

右上角的设置里可以设置postman的主题


这里,出于个人习惯,我把它设置成了黑色

postman基础功能介绍

首先,看一下它的基础功能:


collection在postman里面相当于一个文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。这里我们做一个普通接口的简单的示例:


新建一个文件夹


创建一个文件集


新建一个请求



给这接口明明为查询上海天气并保存


点击该请求,现在是空白的


输入一个get请求,params里会自动显示参数

该请求是聚合数据提供的一个查询天气的接口,大概还有几百次的次数可以用:

http://v.juhe.cn/weather/index?format=2&cityname=南京&key=64aa04d276d1ed4fd5a147d97e16b87e

点击send,查询成功

成功查询到上海天气

这样就完成了一次简单的天气查询接口的请求


请求区域介绍

1     Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。;

2    Headers:请求的头部信息

3    Body:post请求时必须要带的参数,里面放一些key-value键值对

4    Pre-requerst Script:可以让你在 请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。

5    tests:tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量以及对错情况。这个后面会进行详解,它也可以用来设计用例,比如要测试返回结果是否含有某一字符串

6    form-data:,它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。);post请求里较常用的一种

上传文件

7    x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对;

8    raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送;

9    binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交;

导出和导入接口集:

postman支持非常方便的导入和导出接口集,继续操作如下:


导出




数据一般以postman_collection.json结尾


导入:




为了区分,我把他们名称改了

ok,这样就是简单的导入导出collection集合


关于设置环境变量:


1. Global---全局

2. Enviroment --- 环境变量

3. Local --- 局部

4. Data ---- 数据

优先级从高到底Data ---- > Local ---- > Enviroment ---- > Global


postman支持很方便的设置环境变量以及全局变量,并可以一键切换不同环境


1:可以一键切换环境,选择No Environment则不使用环境变量,仅适用全局变量

2:可以查看当前环境中的变量和全局变量(Globals)的值


3.进入设置页面


如新建一套环境dome


选择我们刚才创建的环境,点击眼睛可以看到我们设置的变量值

创建环境变量能够很方便的调取我们所需的数据


将返回值的某个数据设置为环境变量

在某些时候,我们需要获取到一个变量,并保存下来,因为在后面我们会使用到。比如token,sign等信息

这时候就需要用到tests区域了,使用其强大的js语法

下面是一个简单的将返回值的某个数据设置为环境变量或者全局变量的介绍:


定义一个xxx,获取body中返回的所有参数,并转化为JSON格式var xxx = JSON.parse(responseBody);

//把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数, 如:检查json中某个数组元素的个数(这里检测programs的长度)

var data = JSON.parse(responseBody);tests["program's lenght"] = data.programs.length === 5;


将返回中的值设置为一个环境变量pm.environment.set("key",xxx.data.value);或者postman.setEnvironmentVariable("key", "value");

将返回中的值设置为一个全局变量,        pm.globals.set("key",xxx.data.value);或者postman.setGlobalVariable("key", "value");

//注意:Global后面不能加S,value值一定要指定到某个具体节点


实际操作一下:

一个微信登录的接口token值获取


这是一个微信登录的接口,属于post方法,里面的必须参数是unionid,这里我已经把unionid填在body里了,点击send下面可以得到一个token

该登录token每次请求的值都是不一样的,属于一个动态值。而后面我们的所有接口请求都需要这个token,现在就可以使用tests将它放置在环境变量里


var acquiretoken = JSON.parse(responseBody);

//定义一个acquiretoken方法(获取toke

微信