# Динамические переменные

Динамические переменные - это переменные, значения которых определяются во время выполнения сценария. Сохранение авторизационных токенов, идентификаторов вновь созданных сущностей - вот яркие варианты использования данного механизма. Он состоит их двух частей - Variable assignment и собственно динамических переменных.

### Variable assignment

Это создание привязки части запроса к какой-либо динамической переменной. На данный момент данную привязку можно сделать только в [RequestStep](/0.0.1-beta.14/node-types/requeststep.md) узле. Для иллюстрации давайте создадим запрос который создает новый пост и сохраним id созданного постав в динамическую переменную.

Создаем запрос и выполняем его. К примеру, давайте сделаем запрос на POST <https://testmace-stage.herokuapp.com/posts>, с телом `{"title":"Our cool post!"}` . В данном случае RequestStep узел выглядит так:

![RequestStep после выполнения запроса](/files/-LiMv1-_1PBbcv_9qnro)

Теперь из parsed response на параметр id из контекстного меню вызовем диалог присваивания динамической переменной.

![Вид контекстного меню](/files/-LiMv3_gPF04RLw6OEjw)

Выберем пункт Assign to variable. Откроется диалог присваивания переменной

![Диалог присвоения динамической переменной](/files/-LiMv6iwCGaSI3xglCyW)

В данном диалоге отмечены следующие пункты

1. Путь в переменной `$request`, из которого будет браться значение
2. Выпадающий список предков, которым можно назначить динамическую переменную
3. Текущее значение по данному пути
4. Название динамической переменной

Создадим переменную с именем `id` в данном узле.

После присвоения динамической переменной ее можно найти в списке динамических переменных того узла, где производилось присвоение, т.е, в [RequestStep](/0.0.1-beta.14/node-types/requeststep.md) узле. Список динамических переменных можно найти в [диалоге переменных](/0.0.1-beta.14/variables/user-variables.md) на вкладке Dynamic variables.

![Список динамических переменных RequestStep узла](/files/-LiMv9b3IDvlZpwkDk_M)

### Использование динамических переменных

Все динамические переменные, доступные для конкретного узла, хранятся в переменной `$dynamicVar`. Например, чтобы сослаться на переменную `id`, созданную выше, необходимо написать `$dynamicVar.id`. Как и в случае с другими переменными, данный вид переменных поддерживает наследование и переопределение в потомках.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-ru.testmace.com/0.0.1-beta.14/variables/user-variables/dynamic-variables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
