Javascript 邮递员-如何存储多个请求的随机值?

Javascript 邮递员-如何存储多个请求的随机值?,javascript,postman,web-api-testing,Javascript,Postman,Web Api Testing,我想存储随机值,例如在第一个请求中生成的randomEmail,并在接下来的三个请求中使用相同的电子邮件。 第一个请求的预请求脚本如下所示: const email = "{{$randomEmail}}" const firstName = "{{$randomFirstName}}" const lastName = "{{$randomLastName}}" pm.globals.set('email', email) pm.g

我想存储随机值,例如在第一个请求中生成的randomEmail,并在接下来的三个请求中使用相同的电子邮件。 第一个请求的预请求脚本如下所示:

const email = "{{$randomEmail}}"
const firstName = "{{$randomFirstName}}"
const lastName = "{{$randomLastName}}"

pm.globals.set('email', email)
pm.globals.set('firstName', firstName)
pm.globals.set('lastName', lastName)
{  "accountId": "{{accountId}}",  "email": "{{email}}",  "firstName": "{{firstName}}",  "lastName": "{{lastName}}",  "locale": "en-GB",  "mobile": "1234567890",  "contactable": true}
所以基本上我会生成随机的email,firstName和lastName,我想把它们存储为全局变量,以后可以使用它们

以下是我的请求主体的外观:

const email = "{{$randomEmail}}"
const firstName = "{{$randomFirstName}}"
const lastName = "{{$randomLastName}}"

pm.globals.set('email', email)
pm.globals.set('firstName', firstName)
pm.globals.set('lastName', lastName)
{  "accountId": "{{accountId}}",  "email": "{{email}}",  "firstName": "{{firstName}}",  "lastName": "{{lastName}}",  "locale": "en-GB",  "mobile": "1234567890",  "contactable": true}
这四个请求的主体看起来都一样。唯一的区别是,我只有一个用于第一个请求的预请求脚本,其中我生成随机值并将它们保存为全局变量。 我想要实现的是在第一个请求中生成随机电子邮件、firstName和lastName,并在所有四个请求中使用相同的值(存储为全局变量)。 然而,由于某些原因,每个请求都会生成新的电子邮件、firstName和lastName,这不是我想要的


有没有办法让它按我想要的方式工作?

您应该可以使用
.replaceIn()
来获取第一个请求的动态值:

email = pm.variables.replaceIn("{{$randomEmail}}")
这会将随机电子邮件值存储到该局部变量中,因此您可以
将其设置为全局值,以便在其他请求中的其他位置使用

当您将全局变量设置为字符串
{{$randomEmail}
时,每次在其他请求中使用该变量时,它都会解析为一个新值