> For the complete documentation index, see [llms.txt](https://docs-ru.testmace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-ru.testmace.com/0.0.1-beta.14/variables/user-variables/dynamic-variables.md).

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

Динамические переменные - это переменные, значения которых определяются во время выполнения сценария. Сохранение авторизационных токенов, идентификаторов вновь созданных сущностей - вот яркие варианты использования данного механизма. Он состоит их двух частей - 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`. Как и в случае с другими переменными, данный вид переменных поддерживает наследование и переопределение в потомках.
