评估预请求脚本时出错:引用错误:未定义$randomEmail



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

我正在尝试在Pre-request Script中从 Postman 内置变量返回的新变量返回中分配值$randomEmail-

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}}"
}

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

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

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

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

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}}")

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

您可以在"预请求脚本"选项卡中设置变量,如下所示: pm.globals.set("new_user_email", "{{$randomEmail}}"(; pm.globals.set("new_user_password", "{{$randomPassword}}"(;

最新更新