【问题标题】:How do you insert a global / environment variable inside a Postman request body?如何在 Postman 请求正文中插入全局/环境变量?
【发布时间】:2021-04-06 13:52:08
【问题描述】:

我正在预请求脚本中生成一个自定义电子邮件地址,并将其设置为全局环境变量,即

pm.environment.set('email', email)

​ 我的请求正文如下所示:

{
  "email": "{{email}}",
  "country": "CH",
  "password": "test",
}

但是服务器总是返回 401 响应,我假设 Postman 出于某种原因没有解析变量,因此实际上尝试将“{{email}}”作为电子邮件参数发布,这将被服务器拒绝防止js注入。

【问题讨论】:

  • 邮递员控制台说什么?这将告诉您请求中实际发送的内容。发出请求时是否选择了环境?
  • 感谢您的提示!它实际上正在解决它......但是为什么服务器不允许我发布请求呢?因为如果我手动输入生成的邮件而不是将其解析为变量,它就会通过..
  • 你试过不加引号吗?
  • 是的,不幸的是没有运气
  • 什么是email,它是您代码中的变量还是只是您问题的占位符?你确定这些细节是有效的,它是一个 401,所以这表明信用是错误的?我们无法看到您应用中的所有内容,因此所有建议目前都是猜测。

标签: postman


【解决方案1】:

首先, pm.environment.set('email', email) 这个设置环境变量不是全局变量。

因此,如果您这样做 pm.environment.set('email', email) 像这样,请确保您在发送请求时选择了正确的环境。

第二, 您可以使用 pm.globals.set("variable_key", "variable_value");

将电子邮件设置为全局变量

还有 401 响应代码表示 未经授权的错误,这意味着请求的身份验证不正确。

【讨论】:

  • 感谢您的快速回复。我都尝试过 - 设置全局和环境变量(同时选择正确的环境)。没用。是的,我知道 401 的含义,但由于发布普通电子邮件会得到 200,我只是假设服务器返回了误导性的错误代码。
猜你喜欢
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2020-02-20
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多