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架构,即客户端去请求服务端,拿到数据后进行展示
tcp/ip 4层模型
那么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接口调试, 查询全国各地的天气
1 | bash复制代码接口地址: http://ip:5000/simpleWeather/get |
请求参数说明:
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
city | 是 | String | 城市名称,查询该城市天气 |
通过postman配置请求:
图中1的位置表示请求类型是GET还是POST,图中2的位置表示请求的url或者叫接口路径,图中3的位置表示GET请求参数params,只需要传递1个参数city
3.3.2、post接口通过application/json发送数据
1 | bash复制代码接口地址: http://ip:5000/add/user |
请求参数说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
name | 是 | String | 名字 |
age | 是 | int | 年龄 |
status | 是 | String | 感情状态,单身,非单身 |
contact | 是 | String | 微信号或者手机号 |
通过postman构造发送请求
1.请求为POST请求
2.配置url
3.参数在body里
4.类型选择JSON
5.设置的json数据
1 | bash复制代码可以通过http://ip:5000/get/user获取到所有的数据 |
3.3.3、post接口通过form-data发送数据
1 | makefile复制代码请求地址: http://ip:5000/mobile/serach |
请求参数说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
mobile | 是 | String | 手机号 |
使用postman构造form-data的请求
1.接口请求方法类型为POST
2.设置的接口地址
3.数据类型设置为form-data,传递的参数有mobile手机号
3.3.4、post接口通过form-data上传文件
1 | makefile复制代码请求地址: http://ip:5000/upload |
请求参数说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
image | 是 | 二进制文件 | 需要上传的文件 |
使用postman构造请求
1.表示请求方式是POST
2.设置的接口为/upload
3.设置image参数为benchi.jpeg的二进制文件
上传完成后可以通过接口查看数据是否存在
1 | bash复制代码http://ip:5000/file/get?fileName=benchi.jpeg |
4、postman导出功能
1.使用postman的右上角可以导出为其他语言的代码
2.选择生成python代码
3.拷贝代码出来后通过pycharm运行,可以正常运行
5、创建集合并保存响应的接口请求
1.点击左上角的Collection,切换到集合tab页下面
2.新建集合
3.输入集合名字
4.保存接口到集合中
5.把以上的几个接口都保存到集合中
6、postman抓包
1.在右上角开启抓包
2.在客户端配置代理端口号
3.在客户端发送请求
4.postman查看抓包数据
7、postman开发脚本
1.配置全局变量
1 | js复制代码postman.setEnvironmentVariable("city", "上海") |
2.配置test用例脚本
1 | ini复制代码tests["status is 200"] = responseCode.code === 200 |
本文转载自: 掘金