如何在预请求脚本中检索在请求 url 上配置的全局变量

How to retrieve global varibles configured on the request url in the pre-request script

我正在准备一个在 url 参数中使用一些全局变量的邮递员示例。

变量 {{api-url}} 和 {{public-address}} 在 Globals 下定义。

我在预请求脚本中也有一个脚本,它会尝试检索请求 url。

var url = pm.request.url
console.log("URL=" + url)

然而,当我 运行 时,我没有得到填充了全局变量的 url。相反,我得到了以下内容;

对于请求本身,我填写了变量,由于隐私原因,我不得不屏蔽它们。

我相信在 Pre-reuest 脚本请求时 url 可能没有填充全局变量?如果是这样,我怎样才能在 url?

中获得这些值

我绝对可以在 Pre-request 脚本中重新构建 URL,但那样会重复...

看来实际请求正在解析 UI 中的那些值。如果您只需要在日志输出中解决相同的问题,它将是这样的:

let url = pm.request.url
console.log("URL=" + pm.variables.replaceIn(url))

由于日志语句只是 UI 的字符串值,因此变量显示在请求 URL 中。您需要使用 replaceIn() 来替换已解析的值。

https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#the-pm-object