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

时间:2019-12-05 13:37:56

标签: javascript api postman web-api-testing postman-pre-request-script

我正在尝试发送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}}"
}

关于在预请求脚本中使用它并存储以备将来使用的语法的任何想法吗?

2 个答案:

答案 0 :(得分:0)

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

  

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

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

答案 1 :(得分:0)

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

相关问题