2

我正在尝试发送 POST 请求以使用 Postman 创建用户。为此需要动态用户电子邮件和密码。

$randomEmail我正在尝试在来自 Postman 内置变量的新变量返回中赋值Pre-request Script-

var new_user_email = $randomEmail;
var new_user_password = $randomPassword;
console.log(new_user_email);
console.log(new_user_password);
pm.globals.set("new_user_email", "new_user_email");
pm.globals.set("new_user_password", "new_user_password");

但它抛出异常ReferenceError: $randomEmail is not defined

而如果我直接在下面的请求正文中使用,它工作正常

{
  "email": "{{$randomEmail}}",
  "password": "{{$randomPassword}}"
}

关于在预请求脚本中使用它并存储以供进一步使用的语法有什么想法吗?

4

2 回答 2

1

在脚本部分你不能直接调用 $randomEmail ,你必须使用命令pm.globals.get('varName')

于 2019-12-06T04:16:41.773 回答
0

您不能{{...}}在沙盒环境中使用该语法。

由于请求构建器中的变量是使用字符串替换来访问的,因此它们可以在请求构建器中的任何地方使用,您可以在其中添加文本。这包括 URL、URL 参数、标头、授权、请求正文和标头预设。

https://learning.getpostman.com/docs/postman/environments-and-globals/variables/#accessing-variables-in-the-request-builder

可以使用该.replaceIn()函数对该语法使用字符串替换。

例如:

var new_user_email = pm.variables.replaceIn({{$randomEmail}}")

就个人而言,我会dynamic variables像您所做的那样直接在 POST 正文中使用。

于 2019-12-05T14:06:39.763 回答