邮件脚本在访问变量时生成不同的值

问题描述 投票:0回答:1

我尝试使用POSTMAN脚本生成密码并确认密码,但无济于事。我尝试生成新密码的预请求脚本是这样的:

var newPass = "Ab{{$randomInt}}{{$randomInt}}!";
pm.environment.set("cs_newPassword", newPass);

在请求正文中,我尝试获取cs_newPassword变量并将其作为新密码和确认密码发送:

{
"mobileBankerId" : "{{id_cs}}",
"currentPassword" : "{{password_cs}}",
"newPassword" : "{{cs_newPassword}}",
"confirmPassword" : "{{cs_newPassword}}"    
}

当服务器接受新密码和确认密码时,它具有不同的值,因此被拒绝,因为新密码和密码确认不匹配。

当我使用“生成代码段”功能查看代码时,会显示变量cs_newPassword内容并且它具有相同的值。

实际上我调用生成密码脚本只有一次,但为什么当我尝试访问变量时它有不同的值?

rest api postman
1个回答
1
投票

我认为你不能以这种方式使用全局函数,它们似乎只能使用Headers或URL等。

Postman还有一些动态变量,您可以在请求中使用它们。 >>这主要是一个实验。很快就会增加更多功能。 >请注意,动态变量不能在Sandbox中使用。您只能在请求网址/标题/正文中以{{..}}格式使用>>。

作为替代方案,你可以做这样的事情。 Postman中的{{$ randomInt}}函数是0到1000之间的数字,但您可以在本机JavaScript中执行此操作。

var randomInt = Math.floor((Math.random() * 1000))
var newPass = `Ab${randomInt}${randomInt}!`;
pm.environment.set("cs_newPassword", newPass);
© www.soinside.com 2019 - 2024. All rights reserved.