是否可以在不编写预请求脚本的情况下重用动态变量值
Is it possible to reuse dynamic variable values without writing a pre-request script
我有一个接受 json 的请求。在请求正文中,我想两次使用相同的动态变量。例如:
{
"description": "{{$randomFirstName}}'s Home",
"first_name": "{{$randomFirstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
然而,当我希望值相同时,简单地重复上面的变量会导致描述和 first_name 字段的名字不同。
我怎样才能做到这一点。我认为在预请求脚本中应该是可能的,但如果有某种方式可以做相当于
{
"description": "{{firstName=$randomFirstName}}'s Home",
"first_name": "{{firstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
如果不考虑预请求脚本,我可能更喜欢那样。
您可以通过使用 .replaceIn() 功能并在沙箱环境中构建请求主体来实现此目的。
将此添加到 POST 请求的 Pre-request Script
:
let firstName = pm.variables.replaceIn("{{$randomFirstName}}")
let requestBody = {
"description": `${firstName}'s Home`,
"first_name": `${firstName}`,
"last_name": "{{$randomLastName}}",
"more_fields": "..."
};
pm.variables.set("requestBody", JSON.stringify(requestBody));
在请求正文中,添加这个不带引号的变量:
{{requestBody}}
当您发送请求时,它将解析变量并使用相同的名字。
这是一个使用 Postman-echo 服务的例子:
我有一个接受 json 的请求。在请求正文中,我想两次使用相同的动态变量。例如:
{
"description": "{{$randomFirstName}}'s Home",
"first_name": "{{$randomFirstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
然而,当我希望值相同时,简单地重复上面的变量会导致描述和 first_name 字段的名字不同。
我怎样才能做到这一点。我认为在预请求脚本中应该是可能的,但如果有某种方式可以做相当于
{
"description": "{{firstName=$randomFirstName}}'s Home",
"first_name": "{{firstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
如果不考虑预请求脚本,我可能更喜欢那样。
您可以通过使用 .replaceIn() 功能并在沙箱环境中构建请求主体来实现此目的。
将此添加到 POST 请求的 Pre-request Script
:
let firstName = pm.variables.replaceIn("{{$randomFirstName}}")
let requestBody = {
"description": `${firstName}'s Home`,
"first_name": `${firstName}`,
"last_name": "{{$randomLastName}}",
"more_fields": "..."
};
pm.variables.set("requestBody", JSON.stringify(requestBody));
在请求正文中,添加这个不带引号的变量:
{{requestBody}}
当您发送请求时,它将解析变量并使用相同的名字。
这是一个使用 Postman-echo 服务的例子: