news 2026/6/14 23:53:48

PostMan加载三方JS

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PostMan加载三方JS

PostMan加载三方JS

1. 背景

在Postman中做接口测试时,需要使用第三方js包或者自己封装的js工具处理接口参数.此时需要在执行脚本前加载外部js文件
,并且注入运行环境.目前动态执行js文件,可以使用eval或者使用 new Function()方式加载.这里优先考虑第二种方式.
以下介绍四种方法

  • 通过集合参数或者环境变量添加
  • 通过请求响应添加
  • 直接在脚本中添加
  • 通过pm.require添加npm包

动态添加的脚本如果不能访问注入的对象,可以在调用前添加this.xxx试下.

以下测试代码,均在Pre-request Script页签中执行

测试方式为在在Postman中添加一个GET请求

请求地址为https://www.小游戏.地心侠士.com

虽然地址不存在,但是依然可以测试脚本加载情况.

2. 通过参数添加

/* by yours.tools - online tools website : yours.tools/zh/generateethwallets.html */ (function(){ var script = pm.collectionVariables.get("dayjs_code"); (new Function(script))(); console.log("加载dayjs后,获取当前时间: "+ dayjs().format('YYYY-MM-DD HH:mm:ss SSS')) })()

在左下角的Console面板中输出的内容如下:

/* by yours.tools - online tools website : yours.tools/zh/generateethwallets.html */ 加载dayjs后,获取当前时间: 2025-12-30 19:14:14 949 GET https://www.小游戏.地心侠士.com

3. 通过网络添加

pm.sendRequest("https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.18/dayjs.min.js",(error,resp)=>{ let script = resp.text(); (new Function(script))() console.log("加载dayjs后,获取当前时间: "+ dayjs().format('YYYY-MM-DD HH:mm:ss SSS')) })

在左下角的Console面板中输出的内容如下:

GET https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.18/dayjs.min.js 加载dayjs后,获取当前时间: 2025-12-30 19:05:09 506 GET https://www.小游戏.地心侠士.com

4. 使用eval方式加载

以上的示列,都是是通过Function()方式加载.使用eval方式,参考如下

(function(){ var script = pm.collectionVariables.get("dayjs_code"); eval(script) console.log("使用eval初始脚本,获取当前时间: "+ dayjs().format('YYYY-MM-DD HH:mm:ss SSS')) })()

在左下角的Console面板中输出的内容如下:

使用eval初始脚本,获取当前时间: 2025-12-31 09:26:56 460 GET https://www.小游戏.地心侠士.com

5. 直接复制到脚本中

直接下载dayjs.min.js文件,复制到Pre-request Script内容区域.然后再写具体测试脚本

这里需要注意的是,在调用是需要使用this.dayjs(),不能直接使用dayjs(),可能和postman执行环境没有window对象有关

console.log("加载dayjs后,获取当前时间: "+this.dayjs().format('YYYY-MM-DD HH:mm:ss SSS'))

在左下角的Console面板中输出的内容如下:

加载dayjs后,获取当前时间: 2025-12-30 19:21:46 064 GET https://www.小游戏.地心侠士.com

6. 使用pm.require添加npm包

在高级版本中,或者直接在官网云环境可以是使用

const dayjs = pm.require('npm:dayjs@1.11.19'); console.log("加载dayjs后,获取当前时间: "+ dayjs().format('YYYY-MM-DD HH:mm:ss SSS'))

在左下角的Console面板中输出的内容如下:

加载dayjs后,获取当前时间: 2025-12-30 19:33:07 825 GET https://www.小游戏.地心侠士.com

7. 总结及扩展

总之,在postman的沙箱环境中,加载三方JS主要是两个路径

  • 中JS动态执行能力,使用eval(scriptContent)new Function(scriptContent)
  • 使用Postman内置的包管理能力pm.require('npm:dayjs@1.11.19');可能会有版本要求

内置Web Crypto objects对象,比如CryptoCryptoKeySubtleCryptocrypto property

比如,在Postman脚本中,需要实现AES加密代码如下:

var ciphertext = CryptoJS.AES.encrypt('小游戏地心侠士', '微信').toString(); console.log("AES加密内容 "+ ciphertext)

在左下角的Console面板中输出的内容如下:

AES加密内容 U2FsdGVkX1/N/cvcwUkO1F+V66VM/XFfkBnAJUPk20TpE5Db2+H+lSa2xOx1yAeI GET https://www.小游戏.地心侠士.com

PostMan内置对象参考地址如下:
https://www.cnblogs.com/yfrs/p/19425003/postman_inner_object

原文地址:https://mp.weixin.qq.com/s/EO5lJEskAWGq1DotIVx6Ig

转载请注明来源
作者:杨瀚博
QQ:464884492
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 13:26:36

3大核心机制解析蚂蚁Ling-flash-2.0如何重构大模型效率范式

3大核心机制解析蚂蚁Ling-flash-2.0如何重构大模型效率范式 【免费下载链接】Ling-flash-2.0 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ling-flash-2.0 当前大模型发展面临显著的效率瓶颈:参数规模快速增长的同时,实际推理效率…

作者头像 李华
网站建设 2026/6/10 13:56:44

一文说清STM32CubeMX在工控中的核心要点

STM32CubeMX在工控开发中的实战精要:从配置到调度的完整闭环工业控制系统的开发,从来都不是简单地“点亮一个LED”或“读取一次ADC”。它要求高可靠性、强实时性、多任务协同和长期可维护性。而在这背后,如何高效完成底层硬件的初始化与资源协…

作者头像 李华
网站建设 2026/6/10 18:17:20

SlideSCI:专为科研演示打造的PowerPoint插件神器

SlideSCI:专为科研演示打造的PowerPoint插件神器 【免费下载链接】SlideSCI PPT plugin, supports one-click to add image titles, copy and paste positions, one-click image alignment, and one-click to insert Markdown (including bold, hyperlinks, and oth…

作者头像 李华
网站建设 2026/6/13 22:04:18

关于 AI 陪伴新规,应该知道的几件事丨社区来稿

2025年12月27日,国家网信办发布《人工智能拟人化互动服务管理暂行办法(征求意见稿)》,意见征集期至2026年1月25日。 AI陪伴一直是监管关注的重点,之前我们在《AI陪伴别再"擦边",情绪价值生意也得合规》和《第一家被通报下架的AI A…

作者头像 李华
网站建设 2026/6/10 16:10:14

路透社:2026 年将迎来智能体语音交互爆发;Traini 融资 5000 万元:解析宠物叫声与行为,实现人犬实时对话丨日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「…

作者头像 李华
网站建设 2026/5/23 16:30:22

OpenLLMetry完整指南:基于OpenTelemetry的LLM应用观测性解决方案

在当今AI应用快速发展的时代,大型语言模型(LLM)的可观测性已成为开发者面临的重要挑战。OpenLLMetry作为建立在OpenTelemetry之上的扩展库,为LLM应用程序提供了完整的观测能力,让开发者能够全面了解模型性能、追踪调用链路并优化资源使用。 【…

作者头像 李华