当前位置: 首页 > news >正文

Postman日常操作

一.Postman介绍

1.1第一个简单的demo

路特斯(英国汽车品牌)_百度百科 (baidu.com)

1.2 cookie

 用postman测试需要登录权限的接口时,会被拦截,解决办法就是每次请求接口前,先执行登录,然后记住cookie或者token,后续请求带着cookie或token再请求,就不会被拦截了。

如果要读取cookie可以使用request.getCookies()

 具体原理可以参考:一文带你超详细了解Cookie - 知乎 (zhihu.com)

1.3 postman中脚本执行顺序

在postman中,每个请求而言,先执行pre-request script,收到响应后再执行test script

dc1dbd5280634a85a271a250714ec8f6.png (1307×456)

 而对于collection中的request而言,先执行collection中pre-request script,然后执行folder中的pre-request script,再执行请求中的pre-request script,收到响应后再一次执行collection、folder、request中的test script



此部分原文链接:https://blog.csdn.net/wangjun5159/article/details/123648565

 1.4关于postman设置的相关属性介绍

http请求包括4部分:url,method,headers,body

在上图1的位置为接口集,可根据项目来定义接口集合方便以后的测试目录

上图2的位置为method,如;post、get

上图3的位置为响应内容,其中Pretty为格式化json和xml形式的响应内容,Raw仅仅是响应体的一个大文本,可以告诉你响应是否压缩了,Preview是一个沙盒的iframe中渲染响应的内容。

 

 

http请求包括4部分:url,method,headers,body

1.4.1 Method:(Postman支持前7种)
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

(94条消息) HTTP协议 9 种请求方式用途及区别(详解)-- GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT_http请求报文类型有哪些?作用是什么?以及他们的区别是什么_Whitemeen太白的博客-CSDN博客

GET方法和POST方法本质上的区别:
GET一般用来从服务器获取数据,POST一般用来向服务器发送数据。由于GET 方式所能够携带的数据是由限制的,其数据大小通常不能超过 4K, 不适于提交大量表单数据, 故而在表单的提交方式中首选 POST 方式。

GET方法用于信息获取,它携带的数据应该是安全的(安全:指非修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求。
GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里,所以POST方法的安全性比GET方法要高。
GET 请求,没有请求体。POST 请求,如果 form 表单提交的方式为 post,则表单项的数据以请求体的形式发送给服务器,没有大小限制。

body总结:发送请求时一般get请求没有body,post请求才有body。
此部分原文链接:https://blog.csdn.net/demo_yo/article/details/123596028

1.4.2 RequestBody:根据body类型有不同的控制

——form-data:是表单用来传递的默认格式,可以模拟填写表单并提交表单。既可以填写key-value健值,也可以上传file作为key的value传递,但是file不会被保存

——x-www-form-urlencoded:会将表单内的数据转换为健值

——raw:可上传任意格式的文本,包括:text、json、xml、html等

——binary:只上传二进制数据,一次只能上传一个文件且不能保存历史

https://blog.csdn.net/u013258447/article/details/101107743

1.4.3 headers:Content-Type的值根据body类型有不同的控制

——如果发送表单请求,则Content-Type=application/x-www-form-urlencoded

——如果发送json请求,则Content-Type=application/json

——如果发送二进制请求:则Content-Type=application/octet-stream
 

1.4.4 Status

(94条消息) HTTP状态码:204 No Content(总结HTTP状态码)_204报错_leo825...的博客-CSDN博客

具体还可以参考上面的连接 

status总结:相应status为2xx、3xx开头表示ok,4xx表示没有鉴权或参数错误,5xx表示bug。

body总结:发送请求时一般get请求没有body,post请求才有body;而响应的结果不一定有body(一般201和204响应不会有body)。

此部分源链接:https://www.jianshu.com/p/c52f7578c95a

 1.4.5 history方便对之前的请求进行调试

二.Postman断言设置

断言就是实际结果和预期对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言在Tests中编写,用到postman tests 这个模块。

检查响应bosy是否包含字符串

pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("string");});
// 检查响应body是否等于一个字符串pm.test("Body is correct", function () {pm.response.to.have.body("response_body_string");
});// 检查响应body中某个字段值pm.test("Your test name", function () {var res= pm.response.json();pm.expect(res.key).to.eql(value);      // res.key根据实际情况获取
});// 检查headers中某个key存在pm.test("XXX is present", function(){pm.response.to.have.header("Content-Type");
});// 检查响应时间<200mspm.test("Response time is less than 200ms", function(){pm.expect(pm.response.responseTime).to.be.below(200);
});
// 检查状态码status=200(三种方法)pm.test("Status code is 200",function(){pm.response.to.have.status(200);pm.expect(pm.response).to.have.status(200);pm.expect(pm.response).to.be.success;pm.expect(pm.response.code).to.be.eql(200);});
// 成功的post请求状态码pm.test("Successful POST request", function()}{pm.expect(pm.response.code).to.be.oneOf([200,202]);});


当postman中添加了Test,在response会有Test Results的结果

 

三.Postman获取外部数据(参数化)

支持外部数据为csv文件和json

3.1 读取数据

根据使用数据 位置 不同,有两种获取数据文件中数据的方法。
第一种:请求参数(请求行、请求头、请求体)中,使用 数据文件中 的数据

        使用 {{}} 包裹 csv 文件 字段名 或 json 文件中的 key

                如: {{username}} 或 {{password}}

第二种:代码(断言、请求前置脚本)中,使用 数据文件中 的数据

        需要借助 postman 提供的 关键字data 点 csv 文件的字段名 或 json文件的 key

                如: data.username 或 data.password

3.2

相关文章:

Postman日常操作

一.Postman介绍 1.1第一个简单的demo 路特斯&#xff08;英国汽车品牌&#xff09;_百度百科 (baidu.com) 1.2 cookie 用postman测试需要登录权限的接口时&#xff0c;会被拦截&#xff0c;解决办法就是每次请求接口前&#xff0c;先执行登录&#xff0c;然后记住cookie或者to…...

10月份程序员书单推荐

新书书单 1、C程序设计教程&#xff08;第9版&#xff09; 1.广受认可的《C程序设计教程》系列的第9版&#xff08;个别版本也译作《C语言大学教程》&#xff09;&#xff0c;秉承了该系列一贯的丰富而详细的风格。该系列一些版本因封面画有蚂蚁形象而被称为“C语言蚂蚁书”。…...

【ChatGPT系列】ChatGPT:创新工具还是失业威胁?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

C++ 实现定时器的两种方法(线程定时和时间轮算法修改版)

定时器要求在固定的时间异步执行一个操作&#xff0c;比如boost库中的boost::asio::deadline_timer&#xff0c;以及MFC中的定时器。也可以利用c11的thread, mutex, condition_variable 来实现一个定时器。 1、使用C11中的thread, mutex, condition_variable来实现一个定时器。…...

2023mathorcup大数据竞赛选题建议及思路

大家好呀&#xff0c;昨天6点2023年第四届MathorCup高校数学建模挑战赛——大数据竞赛开赛&#xff0c;在这里给大家带来初步的选题建议及思路。 注意&#xff0c;本文章只是比较简略的图文讲解&#xff0c;更加详细完整的视频讲解请移步&#xff1a; 2023mathorcup大数据数学…...

部署vuepress项目到githubPage

部署vuepress项目到githubPage 1. 项目文件夹下有两个分支&#xff08;main和gh-page&#xff09; 1.1 main分支存放项目代码 1.2 gh-page分支存放 npm run docs:build之后的dist里面的所有文件 2. 分别提交到github上 3. 你的项目/docs/.vuepress/config.js module.export…...

ORACLE表空间说明及操作

ORACLE 表空间作用 数据存储&#xff1a;表空间是数据库中存储数据的逻辑结构。它提供了用于存储表、索引、视图、存储过程等数据库对象的空间。通过划分数据和索引等对象的存储&#xff0c;可以更好地管理和组织数据库的物理存储结构。性能管理和优化&#xff1a;通过将不同类…...

vue使用Element-plus的Image预览时样式崩乱

&#x1f525;博客主页&#xff1a; 破浪前进 &#x1f516;系列专栏&#xff1a; Vue、React、PHP ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 问题&#xff1a; 在使用组件库的image时出现了点小问题&#xff0c;预览的图片层级反而没有表格的层级高 效果图&#xff1a;…...

安装使用vcpkg的简易教程

目录 1. 首先安装vcpkg2. 在vcpkg目录下运行bootstrap-vcpkg.bat 命令3. 接着vs进行集成4. 使用vcpkg搜索可用的包5.下载安装所需包6.下载安装完成 1. 首先安装vcpkg 使用git命令下载 git clone https://github.com/Microsoft/vcpkg.git如果下载失败可直接下载文件 (vcpkg-ma…...

制作一个简单的C语言词法分析程序

1.分析组成 C语言的程序中&#xff0c;有很单词多符号和保留字。一些单词符号还有对应的左线性文法。所以我们需要先做出一个单词字符表&#xff0c;给出对应的识别码&#xff0c;然后跟据对应的表格来写出程序 2.程序设计 程序主要有循环判断构成。不需推理即可产生的符号我…...

Java项目中将MySQL改为8.0以上

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 maven依…...

软考高项-计算题(2)

题4 项目的总预算是包含管理储备的&#xff0c;所以总预算应该是&#xff1a;13238102*360 ETC(BAC-EV)/CPI BAC60 EV60*0.318 CPI18/200.9 ETC42/0.9 答案选择C A 题5 因为题目中提到了“按目前的状况继续发展”&#xff0c;那么是&#xff1a;ETC(BAC-EV)/CPI EV1230*0…...

Centos使用war文件部署jenkins

部署jenkins所需要的jdk环境如下&#xff1a; 这里下载官网最新的版本&#xff1a; 选择jenkins2.414.3版本&#xff0c;所以jdk环境最低得是java11 安装java11环境 这里直接安装open-jdk yum -y install java-11-openjdk.x86_64 java-11-openjdk-devel.x86_64下载jenkins最新…...

数据结构和算法——用C语言实现所有排序算法

文章目录 前言排序算法的基本概念内部排序插入排序直接插入排序折半插入排序希尔排序 交换排序冒泡排序快速排序 选择排序简单选择排序堆排序 归并排序基数排序 外部排序多路归并败者树置换——选择排序最佳归并树 前言 本文所有代码均在仓库中&#xff0c;这是一个完整的由纯…...

吃豆人C语言开发—Day2 需求分析 流程图 原型图

目录 需求分析 流程图 原型图 主菜单&#xff1a; 设置界面&#xff1a; 地图选择&#xff1a; 游戏界面&#xff1a; 收集完成提示&#xff1a; 游戏胜利界面&#xff1a; 游戏失败界面 死亡提示&#xff1a; 这个项目是我和朋友们一起开发的&#xff0c;在此声明一下…...

Nautilus Chain 联合香港数码港举办 BIG DEMO DAY活动,释放何信号?

在今年的 10 月 26 日 9:30-18:30 GMT8 期间&#xff0c;Nautilus Chain 联合香港数码港共同举办了 “BIG DEMO DAY” Web3 项目路演活动&#xff0c;包括Xwinner、Sleek、Tx、All weather、Coral Finance、DBOE、PARSIQ、Hookfi、Parallels、Fintestra 以及 dot.GAMING 等在内…...

手写RPC框架

文章目录 什么是RPC框架RPC框架中的关键点通信协议序列化协议动态代理和反射 目前已有的RPC框架手写RPC框架介绍项目框架项目执行流程项目启动 什么是RPC框架 RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;, 简单来说遵循RPC协议的就是RPC框架. …...

音视频常见问题(六):视频黑边或放大

摘要 本文介绍了视频黑边或放大的原因和解决方案。主要原因包括视频分辨率与显示视图尺寸不一致、摄像头采集、美颜滤镜格式兼容和分辨率。为了解决这些问题&#xff0c;开发者可以选择合适的渲染模式、动态调整分辨率、处理视频旋转和使用自定义视频渲染。 即构音视频SDK提供…...

Android笔记(八):基于CameraX库结合Compose和传统视图组件PreviewView实现照相机画面预览和照相功能

CameraX是JetPack库之一&#xff0c;通过CameraX可以向应用增加相机的功能。在下列内容中&#xff0c;将介绍一个结合CameraX实现一个简单的拍照应用。本应用必须采用Android SDK 34。并通过该简单示例&#xff0c;了解传统View层次组件的UI组件如何与Compose组件结合实现移动应…...

【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆

从数量最多的堆取走礼物【LC2558】 给你一个整数数组 gifts &#xff0c;表示各堆礼物的数量。每一秒&#xff0c;你需要执行以下操作&#xff1a; 选择礼物数量最多的那一堆。如果不止一堆都符合礼物数量最多&#xff0c;从中选择任一堆即可。选中的那一堆留下平方根数量的礼物…...

告别景深烦恼:用PyTorch+PyQt5打造你的专属多焦点图像融合桌面工具(附完整源码)

告别景深烦恼&#xff1a;用PyTorchPyQt5打造你的专属多焦点图像融合桌面工具 每次拍摄微距或静物时&#xff0c;是否总在景深和清晰度之间纠结&#xff1f;按下快门后才发现前景清晰时背景模糊&#xff0c;背景聚焦时前景又失焦。专业摄影师会告诉你&#xff1a;这是光学镜头的…...

OpenClaw自动化测试:Gemma-3-12b-it驱动浏览器操作与结果校验

OpenClaw自动化测试&#xff1a;Gemma-3-12b-it驱动浏览器操作与结果校验 1. 为什么选择OpenClawGemma做自动化测试&#xff1f; 上周我在重构一个老旧的Web项目时&#xff0c;遇到了一个典型痛点&#xff1a;前端页面改版后&#xff0c;原有的Selenium测试脚本大面积失效。动…...

Project Quay镜像签名与验证:保障软件供应链安全的完整指南

Project Quay镜像签名与验证&#xff1a;保障软件供应链安全的完整指南 【免费下载链接】quay Build, Store, and Distribute your Applications and Containers 项目地址: https://gitcode.com/gh_mirrors/quay/quay 在当今云原生时代&#xff0c;容器镜像已成为软件交…...

谱聚类实战:如何让声纹模型自动分辨一段录音里有几个人说话?

谱聚类在声纹识别中的应用&#xff1a;如何自动判断录音中的说话人数量 想象一下&#xff0c;你手头有一段长达两小时的会议录音&#xff0c;里面有五位不同声线的参与者交替发言。作为开发者&#xff0c;你需要设计一个系统&#xff0c;不仅能识别每个人的声音特征&#xff0c…...

逻辑器件设计中的总线保持(Bus Hold)功能解析与实战案例

1. 总线保持功能的前世今生 第一次听说总线保持&#xff08;Bus Hold&#xff09;这个概念&#xff0c;还是在五年前的一个深夜。当时我负责的项目遇到一个诡异现象&#xff1a;设备在热插拔时&#xff0c;主控板经常无法检测到业务板的拔出动作。排查了整整三天&#xff0c;最…...

白嫖DeepSeek、GLM、MiniMax、Kimi等大模型,每天 1亿 Token 免费领!

每天免费领 1亿 Token&#xff0c;白嫖DeepSeek、GLM、MiniMax、Kimi等大模型&#xff01; 最近折腾 AI 编程的朋友估计挺多的。这玩意儿现在进化得确实有点吓人。就拿名气最大的 Claude Code 来说&#xff0c;它这个命令行工具直接把写代码变成了“在线聊天”。你只要嘴上说清…...

四场景下的两阶段鲁棒优化模型构建与实施——列与约束生成算法及其数据处理机制探究

两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序&#xff0c;考虑四个场景&#xff0c;模型采用列与约束生成&#xff08;CCG&#xff09;算法进行求解&#xff0c;场景分布的概率置信区间由 1-范数和∞-范数约束&#xff0c;程序含拉丁超立方抽样kmeans数据处理程…...

AI Agent在智能制造中的应用:多智能体协同生产调度案例

AI Agent在智能制造中的应用&#xff1a;多智能体协同生产调度案例 摘要/引言 各位读者好&#xff0c;我是深耕工业软件与分布式AI系统近十年的技术博主&#xff0c;也是前西门子离散制造数字化转型中心的架构师。今天这篇文章&#xff0c;我们要聊的绝对是当前智能制造领域最…...

2025届毕业生推荐的六大降重复率网站推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 针对用户试图降低文本里人工智能生成内容的可识别度&#xff0c;降AIGC工具发挥作用&#xf…...

云原生环境中的DevOps实践

云原生环境中的DevOps实践 &#x1f525; 硬核开场 各位技术老铁&#xff0c;今天咱们聊聊云原生环境中的DevOps实践。别跟我扯那些理论&#xff0c;直接上干货&#xff01;在云原生时代&#xff0c;DevOps已经不是可选选项&#xff0c;而是必须掌握的生存技能。不搞DevOps&…...