postman使用简介
1、介绍
postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求
2、下载及安装
官方文档:https://www.getpostman.com/docs/v6/
chrome插件:chrome浏览器应用商店直接搜索添加即可(需墙)
客户端安装:
- https://www.postman.com/downloads/ 下载对应版本安装即可
内置变量:https://blog.csdn.net/qq_28229449/article/details/105968296
3、相似产品
APIpost
- 官方网站: https://www.apipost.cn/
Postwomen
- github地址:https://github.com/liyasthomas/postwoman
4、页面功能简介
5、基本操作
新建接口
- +号创建新tab
- 选择请求方式:常用:post、get
- 输入url、Params/Body、Headers
- send或者send and download
Headers配置请求头
- 只有接口文档
- 根据接口文档以key-value形式手动配置即可
- 项目已部署
- 抓包工具或者浏览器F12复制Request Header
- 点击Bulk Edit粘贴即可
get/post配置参数
get
Params
会将参数放入url中以?区分以&拼接
如果直接能拿到后端全部url及参数,复制粘贴即可,Params会自动补全
如果只有域名加接口,则需要手动填写Params或者使用Bulk Edit一键补全
Bulk Edit
格式:key:value,一行一个键值对,浏览器或者抓包工具复制Query String Parameters,点击key-value edit即可
post
Body
将请求参数放在请求体中
multipart/form-data
选择form-data:key-value格式,主要特点是可以上传文件
application/x-www-from-urlencoded
选择x-www-from-urlencoded:key-value格式
text/plain
选择raw-text
application/javascript
选择raw-javascript
application/json
选择raw-json
text/html
选择raw-html
application/xml
选择raw-xml
Content-Type:application/octet-stream
只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件
选择binary
Pre-request Script
集合中请求发送之前需要执行的代码片段
可以使用js代码自己实现请求
使用场景
请求中需要随机数
参数需要加密
Tests
集合中请求发送之后需要执行的代码片段
可以使用js代码自己实现请求
使用场景
断言
拿到返回数据设置为全局变量或者环境变量
Environments
环境变量可以添加一组变量,使用时切换环境变量名称,使用参数时{{变量名称}}即可
使用场景:develop、test、uat、release环境切换
Globals
全局变量,key-value形式,key为变量名,value为值,一组只能有一对,使用时{{变量名称}}即可
作用域:可以访问集合,请求,测试脚本和环境之间的数据。全局变量在整个工作空间中都可用
集合变量
集合变量可在集合中的整个请求中使用,并且独立于环境,因此请不要根据所选环境进行更改。
6、常用内置语法
获取请求返回值:JSON.parse(responseBody);
例:
var jsonData = JSON.parse(responseBody);
pm.globals.set(“token”, jsonData.data.token);
获取环境变量:pm.environment.get(“variable_key”);
获取全局变量:pm.globals.get(“variable_key”);
获取集合变量:pm.variables.get(“variable_key”);
设置全局变量:pm.globals.set(“variable_key”, “variable_value”);
设置集合变量:pm.collectionVariables.set(“variable_key”, “variable_value”);
清除环境变量:pm.environment.unset(“variable_key”);
清除全局变量:pm.globals.unset(“variable_key”);
清除集合变量:pm.collectionVariables.unset(“variable_key”);
发送request请求:
pm.sendRequest(“https://postman-echo.com/get”, function (err, response) {
console.log(response.json());
});
判断请求code是否成功:
pm.test(“Status code is 200”, function () {
pm.response.to.have.status(200);
});
获取某个响应头:
var ContentType = postman.getResponseHeader(“Content-Type”);
console.log(ContentType);
判断返回值中是否包含某个字符串:
pm.test(“Body matches string”, function () {
pm.expect(pm.response.text()).to.include(“测试学生01”);
});
检查JSON中的某个值是否等于预期:判断返回值中的code是否为0
pm.test(“Your test name”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(0);
});
判断返回值是否等于预期数据:
pm.test(“Body is correct”, function () {
pm.response.to.have.body();
});
判断某个响应头是否在返回的headers中:
pm.test(“Content-Type is present”, function () {undefined
pm.response.to.have.header(“Transfer-Encoding”);
});
判断响应时间是否超过200ms:
pm.test(“Response time is less than 200ms”, function () {undefined
pm.expect(pm.response.responseTime).to.be.below(200);
});
将返回的xml转换为json对象:
ovar jsonObject = xml2Json(responseBody);
为JSON data使用微小验证器–Use TinyValidator for JSON data:
var schema = {
“items”: {
“type”: “boolean”
}
};
var data1 = [true, false];
var data2 = [true, 123];
pm.test(‘Schema is valid’, function () {
pm.expect(tv4.validate(data1, schema)).to.be.true;
pm.expect(tv4.validate(data2, schema)).to.be.true;
});
Tests断言
响应体中是否包含测试学生01字符串:
tests[“Body matches string”] = responseBody.has(“测试学生01”);
检查JSON中的某个值是否等于预期:判断返回值中的code是否为0
var jsonData = JSON.parse(responseBody);
tests[“Your test name”] = jsonData.code === 0;
7、小技巧
利用抓包工具或者F12通过cURL接口直接导入postman
copy as cURL
cURL:客户端(client) URL 工具
用来请求 Web 服务器
cURL命令功能非常强大且参数居多,感兴趣可自行学习
import→ Raw text→ continue即可
8、录制脚本
TODO
9、压测
TODO
10、mock
TODO
相关文章:

postman使用简介
1、介绍 postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求 2、下载及安装 官方文档:https://www.getpostman.com/docs/v6/ chrome插件:chrome浏览器应用商店直接搜索添加即可(需墙&…...
@DS注解在事务中实现数据源的切换@DS在事务中失效【已解决】
在Springboot的application.yml中的配置: spring:datasource:url: jdbc:mysql://localhost:3306/test2?serverTimezoneUTC&useUnicodetrue&characterEncodingutf8driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: rootdynamic:primar…...
Java I/O之文件系统
一、全文概览 在学习文件系统之前,需要了解下Java在I/O上的发展史:在Java7之前,打开和读取文件需要编写特别笨拙的代码,涉及到很多的InputStream、OutputStream等组合起来使用,每次在使用时或许都需要查一下文档才能记…...

Mysql元数据获取方法(information_schema绕过方法)
前提:如果waf或其它过滤了information_schema关键字,那我们该如何获取元数据呢?能够代替information_schema的有:sys.schema_auto_increment_columnssys.schema_table_statistics_with_bufferx$schema_table_statistics_with_buff…...
Eclipse快捷键
* 1.补全代码的声明:alt /* 2.快速修复: ctrl 1 * 3.批量导包:ctrl shift o* 4.使用单行注释:ctrl /* 5.使用多行注释: ctrl shift / * 6.取消多行注释:ctrl shift \* 7.复制指定行的代码:ctrl a…...

java ssm自习室选座预约系统开发springmvc
人工管理显然已无法应对时代的变化,而自习室选座预约系统开发能很好地解决这一问题,既能提高人力物力,又能提高预约选座的知名度,取代人工管理是必然趋势。 本自习室选座预约系统开发以SSM作为框架,JSP技术,…...

分享我从功能测试转型到测试开发的真实故事
由于这段时间我面试了很多家公司,也经历了之前公司的不愉快。所以我想写一篇文章来分享一下自己的面试体会。希望能对我在之后的工作或者面试中有一些帮助,也希望能帮助到正在找工作的你。 找工作 我们总是草率地进入一个自己不了解的公司工作…...

TypeScript快速入门———(二)TypeScript常用类型
文章目录概述1 类型注解2 常用基础类型概述3.原始类型4 数组类型5 类型别名6.函数类型7 对象类型8 接口9 元组10 类型推论11 类型断言12 字面量类型13 枚举14 any 类型15 typeof概述 TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了…...

Mac M1 使用Centos8➕VMware Fusion进行静态网络配置
大部分的流程网络上面都有当我们已经下载好mac m1版的Centos8链接: https://pan.baidu.com/s/1UTl4Lo-_c17s-PDj3dA6kA 提取码: 7xh2 和VMware Fusionhttps://www.vmware.com/cn/products/fusion.html之后就可以进行安装了在导入过后 记得将硬盘和内存都设置好了 记得在关机状态…...

RadGraph: Extracting Clinical Entities and Relations from Radiology Reports代码
文章来源:NeurIPS 文章类别:IE(Information Extraction) RadGraph主要基于dygie,主要文件为inference.py。 inference.py: 1、get_file_list(data_path) def get_file_list(path):file_list [item for item in glob.glob(f&q…...
13. OPenGL与QT界面元素交互控制图形渲染
1. 说明: 前面文章中讲到的 OPenGL 渲染都是在页面加载完成即立刻渲染的,如果向控制图形渲染的时间,可以在QT界面中添加一些元素来进行控制。此时需要用到OPenGL当中的makeCurrent(),update(),doneCurrent()函数。 效果展示: ope…...

高通平台开发系列讲解(USB篇)libuvc详解
文章目录 一、什么是UVC二、UVC拓扑结构三、libuvc的预览时序图沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍libuvc。 一、什么是UVC UVC,全称为:USB video(device) class。 UVC是微软与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标…...
ICC2:set_route_opt_target_endpoints
route_opt阶段通过指定endpoint/driver pin list的方式执行incremental优化。 set_route_opt_target_endpoints [-setup_endpoints file] [-setup_endpoints_collection pin_list] [-hold_endpoints file] [-hold_endpoints_collection pin_list] [-ldrc_objects fil…...
5、小程序面试题
1, 小程序页面有哪些生命周期函数onLoad: 页面加载onReady: 页面初次渲染完成onShow: 页面显示onHide: 页面隐藏onUnload: 页面卸载2, 一页小程序页面有哪些文件组成,分别有什么作用.wxml: 使用微信框架设计的一套组件构建页面结构.wxss: 用于设置页面样式, 和css基本一致.js :…...
Java特殊操作流
6 特殊操作流 6.1 标注输入输出流 System类中有两个静态的成员变量: public static final InputStream in:标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源public static final PrintStream out:标准输…...
如何用SCRM销售管理系统管理销售和做销售管理
每一家企业都在找适合自己公司的销售管理方法,实现销售目标和努力提高业绩。 我们常说,做好销售管理有很多路径和方法,但我们不知道从哪里开始?每个阶段我们该怎么办?如何有效管理销售团队?好的企企业微信…...

分享117个HTML婚纱模板,总有一款适合您
分享117个HTML婚纱模板,总有一款适合您 117个HTML婚纱模板下载链接:https://pan.baidu.com/s/1cC3I5cfh91-KmQj4nfSoPA?pwd9hod 提取码:9hod Python采集代码下载链接:采集代码.zip - 蓝奏云 import os import shutil import …...

VIVADO2022 sdk 工程创建流程
正点原子uart历程复现 create block design(起名 为System) -> open block design -> 号/IP catalog 中搜索zynq 双击打开, 将和pl相关的时钟都干掉 再auto 布线一下 把herarchy中的sources 中的system.bd右键、 无脑下一步导出 如…...

【MyBatis】源码学习 02 - Java 元注解以及 MyBatis @Param 注解分析
文章目录前言参考目录学习笔记1、Java 注解1.1、Java 元注解1.2、Java ElementType 枚举值1.3、自定义注解2、Param 注解分析2.1、Param 注解2.2、测试方法2.3、流程分析(重点:ParamNameResolver)前言 本文内容对应的是书本第 7 章的内容&am…...

贪心算法-蓝桥杯
一、贪心算法的优缺点优点:1.容易理解:生活常见。2.操作简单:在每一步都选局部最优。3.效率高: 复杂度常常是O(1)的。缺点:1.局部最优不一定是全局最优。二、例子: 最少硬币问题硬币面值1、2、5。支付13元,要求硬币数量最少。贪心法: (1) 5元…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...