postman使用教程 1、postman是什么 2、postman有哪些功能 3、postman和http接口结合 4、postman导出功能 5、创建集合并保存响应的接口请求 6、postman抓包 7、postman开发脚本

1、postman是什么

postman是常见的接口测试工具,主要用于http接口调试,如何安装,直接百度即可安装

2、postman有哪些功能

  • 调试http接口
  • 导出为其他语言代码
  • 创建集合并保存相应的接口请求
  • postman抓包,并代理发送请求
  • postman开发脚本
  • postman设计自动化测试用例

3、postman和http接口结合

postman主要用途是发送http请求,那我们来介绍下什么是http,http报文结构是什么样子的

3.1、什么是http

http(Hyper Text Transfer Protocol,HTTP)是一种协议,叫做超文本传输协议,属于c/s或者b/s架构,即客户端去请求服务端,拿到数据后进行展示
image.png
tcp/ip 4层模型

image.png

那么http和https的区别是什么呢,https是在http的基础上加了ssl加密,也就是传输的http报文都是经过ssl加密的

*常见面试题: tcp/ip 4层模型和对应的产品有哪些?

3.2、http报文内容

HTTP报文结构内容

序号 报文内容 作用
1 url(统一资源定位符) 告诉浏览器资源在哪,有一定的历史渊源,最开始http主要用于各个美国欧洲的实验室存储文档,xxx.com/meiguo.html
现在的作用就是一个接口地址, 比如www.taobao.com/add/user,这是…
2 方法(method) GET,POST,PUT,DELETE,OPTIONS,常用的还是GET和POST
3 params 只要get请求有,get请求去获取资源的时候,比如去百度搜索的时候,输入1个参数查询
4 data 只有post请求有,post去提交数据的时候,会把数据放到data里发送给服务端,类型比较多,拆开讲解
5 header http头信息,这里面包含的数据很多,拆分讲解

HTTP post接口data结构内容

序号 内容 作用
1 json数据 通过json把数据传给服务端
2 Form-data 通过form表单把数据传给服务端
3 mutilpart-binary 通过二进制,主要是传文件的时候使用

HTTP header内容:通过百度抓包分析

序号 内容 作用
1 cookies 用户权限认证,通过cookies来证明你是你,比如证明你是你爸的儿子cookies:"father=ligang"
2 connection Connection:keep-alive发送请求后是否断开tcp连接,keep-alive是不断开,close代表断开请求,获取到资源后立马断开请求
3 host 一般就是域名,一个服务器上部署了多个服务,尤其在以php语言开发的web服务,host如果不带就会出现异常
4 User-Agent 用户代理,主要用于判断你是爬虫请求,还是正常用户请求,还是移动端请求
5 content-type 主要是在post请求的时候,如果是json数据,content-type必须是application/json,如果是form-data必须是mutilpart-formdata,如果是二进制,必须是mutilpart-binary

3.3、使用postman实战调试

3.3.1、get接口调试, 查询全国各地的天气

接口地址: http://ip:5000/simpleWeather/get
请求方法: GET
复制代码

​ 请求参数说明:

参数名称 是否必填 类型 说明
city String 城市名称,查询该城市天气

​ 通过postman配置请求:

image.png

​ 图中1的位置表示请求类型是GET还是POST,图中2的位置表示请求的url或者叫接口路径,图中3的位置表示GET请求参数params,只需要传递1个参数city

3.3.2、post接口通过application/json发送数据

接口地址: http://ip:5000/add/user
请求方法: POST
数据类型: application/json
复制代码

​ 请求参数说明

参数名称 是否必填 类型 说明
name String 名字
age int 年龄
status String 感情状态,单身,非单身
contact String 微信号或者手机号

​ 通过postman构造发送请求

image.png

​ 1.请求为POST请求

​ 2.配置url

​ 3.参数在body里

​ 4.类型选择JSON

​ 5.设置的json数据

可以通过http://ip:5000/get/user获取到所有的数据
复制代码

3.3.3、post接口通过form-data发送数据

请求地址: http://ip:5000/mobile/serach
请求类型: POST
数据类型: form-data
复制代码

请求参数说明

参数名称 是否必填 类型 说明
mobile String 手机号

使用postman构造form-data的请求

image.png

​ 1.接口请求方法类型为POST

​ 2.设置的接口地址

​ 3.数据类型设置为form-data,传递的参数有mobile手机号

3.3.4、post接口通过form-data上传文件

请求地址: http://ip:5000/upload
请求类型: POST
数据类型: form-data
复制代码

​ 请求参数说明

参数名称 是否必填 类型 说明
image 二进制文件 需要上传的文件

​ 使用postman构造请求

image.png

​ 1.表示请求方式是POST

​ 2.设置的接口为/upload

​ 3.设置image参数为benchi.jpeg的二进制文件

上传完成后可以通过接口查看数据是否存在

http://ip:5000/file/get?fileName=benchi.jpeg
复制代码

4、postman导出功能

1.使用postman的右上角可以导出为其他语言的代码

image.png

2.选择生成python代码

image.png

3.拷贝代码出来后通过pycharm运行,可以正常运行

5、创建集合并保存响应的接口请求

1.点击左上角的Collection,切换到集合tab页下面
image.png

2.新建集合
image.png

3.输入集合名字
image.png

4.保存接口到集合中
image.png

5.把以上的几个接口都保存到集合中
image.png

6、postman抓包

1.在右上角开启抓包

image.png

2.在客户端配置代理端口号

3.在客户端发送请求

4.postman查看抓包数据
image.png

7、postman开发脚本

1.配置全局变量

postman.setEnvironmentVariable("city", "上海")
复制代码

image.png

2.配置test用例脚本

tests["status is 200"] = responseCode.code === 200
var jsonData = JSON.parse(responseBody);
tests["city is right"] = jsonData.result.city === postman.getEnvironmentVariable("city")
复制代码

image.png