未定义邮递员的请求前脚本URL

时间:2020-04-04 05:29:42

标签: postman postman-pre-request-script

我在Postman中有一个预请求脚本,需要创建URL:

var uri = new URL(request.url).pathname;
console.log("uri:" + uri);

失败并出现以下错误:URL未定义。我四处搜寻并尝试了所有不同的方式:

//const url = require('url');
//const URL = require('url').URL;

它们都不起作用。我检查了节点版本和npm,它显示已安装

node -v
-bash: node: command not found
npm -v
-bash: npm: command not found

我是否必须安装节点才能运行?

我还在chrome开发人员工具控制台中运行代码,结果与未定义相同:

var uri = new URL(request.url).pathname
undefined

但是在同一脚本中,我还使用了CryptoJS,它不需要任何导入,就可以使用。

我正在使用macOS Mojave 10.14.6和POSTMAN 7.21.2应用程序,而不是chrome扩展程序。

1 个答案:

答案 0 :(得分:2)

Postman支持API,其中一些是预先包含的。例如,CryptoJS是预先包含的,因此您无需显式添加。 Postman文档指出,请求前脚本还支持多个节点模块,以使其正常工作。

要使用库,只需调用require函数并传递 模块名称作为参数并分配函数的返回值 到变量。

因此,在您的情况下,应为:

const url = require('url');
var pathName = url.parse(request.url).pathname;

console.log(pathName);

详细文档:Postman Sandbox API reference