首页 > 解决方案 > Postman - 如何存储多个请求的随机值?

问题描述

我想存储随机值,例如在第一个请求中生成的 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}

对于所有四个请求,正文看起来都一样。唯一的区别是我只有第一个请求的预请求脚本,我生成随机值并将它们保存为全局变量。我想要实现的是在第一个请求中生成随机电子邮件、名字和姓氏,并在所有四个请求中使用相同的值(存储为全局变量)。但是,由于某种原因,每个请求都会生成新的电子邮件、名字和姓氏,这不是我想要的。

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

标签: javascriptpostmanweb-api-testing

解决方案


您应该能够仅用于.replaceIn()获取第一个请求的动态值:

email = pm.variables.replaceIn("{{$randomEmail}}")

这会将随机电子邮件值存储到该局部变量中,因此您可以将set其作为全局变量在其他请求的其他地方使用。

当您将 Global 变量设置为 string{{$randomEmail}}时,每次在其他请求中使用它都会解析为一个新值。


推荐阅读