我尝试使用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内容并且它具有相同的值。
实际上我调用生成密码脚本只有一次,但为什么当我尝试访问变量时它有不同的值?
答案 0 :(得分:1)
我认为你不能以这种方式使用全局函数,它们似乎只能使用Headers或URL等。
Postman还有一些动态变量,您可以在请求中使用它们。 > >这主要是一个实验。很快就会增加更多功能。 >请注意,动态变量不能在沙箱中使用。你只能使用> >它们在请求网址/标题/正文中以{{..}}格式显示。
作为替代方案,你可以做这样的事情。 Postman中的{{$ randomInt}}函数是0到1000之间的数字,但您可以在本机JavaScript中执行此操作。
var randomInt = Math.floor((Math.random() * 1000))
var newPass = `Ab${randomInt}${randomInt}!`;
pm.environment.set("cs_newPassword", newPass);