Postman实现批量发送json请求

最近有一个场景,需要本地批量调用某个接口,从文件中读取每次请求的请求体,实现方法记录一下。

1.读取请求体

在 Postman 中,如果你想在 Pre-request Script 阶段读取文件内容,比如为了将文件内容作为请求的一部分发送,你需要使用 Postman 的沙箱环境提供的 fs 模块。但是,请注意,由于安全限制,Postman 的沙箱环境中并不能直接访问本地文件系统来读取文件。不过,对于测试数据或较小的配置文件内容,你可以通过将文件内容复制粘贴到 Postman 的环境变量中,然后在 Pre-request Script 中访问这些变量来间接实现。

间接方法:使用环境变量存储文件内容

  1. 准备文件内容:首先,打开你的文件,复制其内容。
  2. 创建环境变量:在 Postman 中,创建一个新的Environments,然后添加一个新的环境变量。将复制的文件内容粘贴到变量值中。例如,创建一个名为 fileContent 的变量。
  3. 访问环境变量:在你的请求的 Pre-request Script 部分,使用以下代码来访问你刚刚创建的环境变量:
const fileContent = pm.environment.get('fileContent');

现在,fileContent 变量就包含了你从文件中复制的内容,你可以根据需要使用这部分内容构造请求体或其他部分。

2.构造请求

这里直接用pre-request构造json请求体。假设每个请求体是一行,那么构造请求体的格式如下:

pm.request.body.update({mode: 'raw',raw: line
})

update() 方法用于更新请求体,mode: 'raw' 表示我们将以原始文本形式发送数据,line就是我们前面文件中的请求内容。

3.配置批量请求

创建一个新的Collection,在这个集合下面新增一条请求(就是你要批量请求的那个接口),选择环境为上面创建的环境。

打开面板中的Runner配置,把创建的Collection一到Runner面板中,在Run Configuration中配置迭代次数和每条请求之间的间隔。

比如我配置的,要请求的接口是localtest,请求次数60次,每条请求间隔1s。

4.根据迭代次数获取请求体

由于每次请求的内容不一致,所以根据迭代次数来配置每次具体的请求,比如你有60个请求体,就配置迭代60次,每次请求的内容就根据环境变量获取。

具体的pre-request内容如下所示

const fileContent = pm.environment.get('fileContent');
const body = fileContent.split("\n")
// 获取当前迭代的次数
const iterationCount = pm.info.iteration;
console.log(`这是第 ${iterationCount} 次请求.`);
pm.request.body.update({mode: 'raw',raw: body[iterationCount]
})

5.执行请求

在runner面板里面点击run batchtest就可以执行批量请求了。执行完之后就可以看执行结果了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊天宝使用技巧揭秘让您快捷回复效率翻倍

聊天宝快捷回复软件,推出大量实用工具,帮助客服能更加高效的实现快捷发送,一键发送,效果翻倍! ​ 前言 聊天宝作为一款快捷回复工具,让客服免去了打字回复之苦。所以很受广大客服欢迎,真是一旦…

什么是“SQL注入攻击”?如何预防和应对?

一、SQL注入攻击的概念 SQL注入攻击是一种针对数据库驱动的应用程序的攻击技术,其中攻击者通过在应用程序的输入字段中插入或“注入”恶意的SQL代码,试图非法访问、操作或破坏后端数据库。当应用程序不正确地处理用户输入,并将其直接拼接到SQ…

废品回收小程序:回收市场下的商业机遇

随着当下大众环保意识的提升,回收行业收到了大众的重视,行业快速发展。在互联网信息技术的支持下,“互联网废品回收”得到了发展,依靠各种技术搭建互联网回收平台,连接到居民与商家,让回收变得更加简单高效…

深度解析Nginx配置文件:从全局块到upstream块的探索之旅

粉丝福利:微信搜索「万猫学社」,关注后回复「电子书」,免费获取12本Java必读技术书籍。 Nginx配置文件的简介 在浩瀚的互联网世界中,Nginx就如同一座大型交通枢纽,将访问者的请求精准地引导到正确的服务终点。而这一切…

【会议征稿,SPIE独立出版】第五届计算机视觉和数据挖掘国际学术会议(ICCVDM 2024)

第五届计算机视觉与数据挖掘国际学术会议(ICCVDM 2024)将于2024年7月19-21日在中国长春举行。此前,ICCVDM系列会议于2020年在中国西安、2021年在中国长沙(线上)、2022年在中国呼伦贝尔(线上线下&#xff09…

基于微信小程序实现的【二手物品交易平台】后端 JAVA Springboot (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 基于微信小程序的二手物品交易平台 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java, SSM框架数据库: MySQL前端技术: 微信小程序技术其他相关技术: HTML, MyEclipse开发…

SQL——SELECT相关的题目(力扣难度等级:简单)

目录 197、上升的温度 577、员工奖金 586、订单最多的客户 596、超过5名学生的课 610、判断三角形 620、有趣的电影 181、超过经理收入的员工 1179、重新格式化部门表(行转列) 1280、学生参加各科测试的次数 1965、丢失信息的雇员 1068、产品销售分…

微信好友,如此的陌生,渐渐都成了只是人名!也许没有利益关系导致!

微信里一直聊天聊的挺好的朋友,不知怎么到后来却联系少了,最后渐渐的变成躺在微信备注里的一个陌生朋友! 以前通过工作认识了一个朋友,初次见面的印象不是很深刻了,只记得当时给我的印象是对方很有礼貌,特别…

vue页面滚动条触底事件

html 滚动区域外层div添加属性 ref,id,scroll 在mounted函数中使用document设置监控div属性 在mathods中监控滚动事件

期货交易的雷区

一、做自己看不懂的行情做交易计划一样要做有把握的,倘若你在盘中找机会交易,做自己看不懂的行情,即便你做进去了,建仓时也不会那么肯定,自然而然持仓也不自信,有点盈利就想平仓,亏损又想扛单。…

基于C#开发web网页管理系统模板流程-主界面管理员录入和编辑功能完善

前言 紧接上篇->基于C#开发web网页管理系统模板流程-登录界面和主界面_c#的网页编程-CSDN博客 已经完成了登录界面和主界面,本篇将完善主界面的管理员录入和编辑功能,事实上管理员录入和编辑的设计套路适用于所有静态表的录入和编辑 首先还是介绍一下…

红外成像人员检测数据集VOC+YOLO格式5838张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5838 标注数量(xml文件个数):5838 标注数量(txt文件个数):5838 标注…

数据大屏vue3+ts+axios+MockJS+dataV+echarts

一、官网/文档 vue3:https://cn.vuejs.org/api/TypeScript:https://www.tslang.cn/docs/handbook/basic-types.htmlaxios:http://www.axios-js.com/zh-cn/docs/MockJS:http://mockjs.com/dataV:http://datav.jiamingh…

失落的方舟台服注册接收不到验证码 注册怎么验证手机号教程

《失落的方舟》(Lost Ark)是一款引人入胜的大型多人在线角色扮演游戏(MMORPG),由韩国知名游戏开发商Smilegate精心打造。这款游戏凭借其绚丽的视觉效果、错综复杂的故事情节、媲美动作游戏的战斗机制以及无边无际的探索…

Golang | Leetcode Golang题解之第104题二叉树的最大深度

题目: 题解: func maxDepth(root *TreeNode) int {if root nil {return 0}queue : []*TreeNode{}queue append(queue, root)ans : 0for len(queue) > 0 {sz : len(queue)for sz > 0 {node : queue[0]queue queue[1:]if node.Left ! nil {queue…

Android JetPack ViewModel

一、什么是ViewModel? Android ViewModel在我们使用MVVM开发模式时会经常用到,对我来说就是好用,好维护。 它相对于MVC模式, 一来可以减少Activity层的代码,可以把一些业务逻辑和对数据的交互到ViewModel层去&#…

代码随想录算法训练营第五十三天||1143.最长公共子序列、1035.不相交的线、53. 最大子序和

文章目录 一、1143.最长公共子序列 思路 二、1035.不相交的线 思路 三.53. 最大子序和 思路 一、1143.最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原…

最小生成树【做题记录】c++(Prim,Kruskal)

目录 Prim算法求最小生成树 【算法思想】 【算法实现】 【数据结构设计】 【算法步骤】 【输入输出】 【代码示例】 Kruskal算法求最小生成树 【算法思想】 判断是否会产生回路的方法 【算法描述】 【图的存储结构】 【输入输出】 【代码示例】 Prim算法求最小生…

AirBnb架构简史

2007 年,布莱恩切斯基 (Brian Chesky) 和乔加比亚 (Joe Gabbia) 搬到了旧金山。他们一边想为自己的创业想法筹集资金,一边又需要支付房租。 碰巧的是,当时城里正要举行一个设计会议,这意味着很多设计师都会寻找住处。他们想出了在…

Java 五种内部类演示及底层原理详解

内部类 什么是内部类 在A类的内部定义B类,B类就被称为内部类 发动机类单独存在没有意义 发动机为独立个体 可以在外部其他类里创建内部类的对象去调用方法 类的五大成员 属性 方法 构造方法 代码块 内部类 内部类的访问特点 内部类可以直接访问外部类的成员&a…