Можно ли повторно использовать значения переменных Dynami c без написания сценария предварительного запроса - PullRequest
1 голос
/ 19 марта 2020

У меня есть запрос, который принимает json. Внутри тела запроса я хотел бы дважды использовать одну и ту же переменную Dynami c. Так, например:

{
    "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": "..."
}

без использования сценария предварительного запроса, я бы предпочел это.

1 Ответ

1 голос
/ 19 марта 2020

Этого можно добиться, используя функцию .replaceIn () и создав тело запроса в среде песочницы.

Добавьте это к Pre-request Script запроса POST:

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:

enter image description here

...