postman自定义函数脚本获取当前日期

本文介绍如何使用Postman工具中的moment模块或环境变量方法来格式化当前日期为yyyy-MM-dd格式,并将其作为请求参数。

问题:使用Postman测试接口,想要获取当前日期格式化为yyyy-MM-dd作为请求参数字段

解决
①利用moment模块实现格式化日期函数

在pre-request script(如果是响应后则在tests中)脚本中编写如下代码,在接口请求参数中引用设置的变量,查看控制台可以看到输出

const moment = require('moment');//调用moment模块
var today=moment().format('YYYY-MM-DD');//格式化当天日期
pm.variables.set("today",today);//设置变量today

在这里插入图片描述
②利用环境变量封装格式化日期函数

在全局变量中,设置变量self(名字自己取),值为①中的前两行代码,如下图
在这里插入图片描述
在接口脚本中编写如下代码,在接口请求参数中引用设置的变量,查看控制台可以看到输出

eval(globals.self);//通过eval函数执行全局变量中self值中的代码
pm.variables.set("today",today);//第二个today也就是全局变量self代码中定义的today

在这里插入图片描述
总结:为什么有了方法①,还要多此一举介绍方式②

  1. 提供了一个新的思路,原来全局变量不仅是可以填写普通的字符串,也可以是代码
  2. 本次日期代码比较短,但是若脚本较长,多个接口都需要使用到的话,使用全局变量只需要写一次,便于复用和调用
  3. 另外,可以将自己常用的需要自定义的脚本写到一个全局变量中,只需要记住执行eval(globals.self);和对应的变量

参考文章:https://www.jb51.net/article/159886.htm

### 如何在 Apifox 中通过自定义脚本获取 `responseBody` 在 Apifox 的自定义脚本功能中,可以通过内置的变量和函数访问 HTTP 请求的响应数据。以下是具体实现方式: #### 使用 `pm.response` 访问响应体 Apifox 提供了类似于 Postman 的 `pm` 对象,其中包含了丰富的属性和方法用于操作请求和响应。要获取响应体的内容,可以使用 `pm.response.text()` 方法返回字符串形式的响应体[^3]。 ```javascript // 打印完整的响应体内容 console.log(pm.response.text()); // 如果需要解析 JSON 响应体,则可以先将其转换为 JavaScript 对象 let responseBody; try { responseBody = pm.response.json(); } catch (e) { console.error("无法解析 JSON 响应体"); } // 输出解析后的 JSON 数据 console.log(responseBody); ``` #### 处理不同类型的响应体 如果响应体可能包含多种格式(如 JSON、XML 或纯文本),可以根据实际需求进行判断和处理。例如,在确认响应头中的 `Content-Type` 后再决定如何读取响应体[^4]。 ```javascript const contentType = pm.response.headers.get('Content-Type'); if (contentType.includes('application/json')) { let jsonData = pm.response.json(); console.log("JSON Response Body:", jsonData); } else if (contentType.includes('text/html')) { let htmlData = pm.response.text(); console.log("HTML Response Body:", htmlData); } else { console.warn("未知的 Content-Type 类型"); } ``` #### 注意事项 - **错误捕获**:当尝试解析非 JSON 格式的响应时可能会抛出异常,因此建议始终使用 `try-catch` 结构来保护代码逻辑。 - **性能优化**:对于大文件或流式传输的数据,直接调用 `.json()` 可能会消耗较多内存资源,此时可以选择分批读取或者仅提取所需字段[^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值