> 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/variables/user-variables/dynamic-variables.md).

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

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

### Variable assignment

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

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

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

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

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

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

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

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

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

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

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

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

Для просмотра динамических переменных, назначенных на конкретный узел, необходимо открыть раздел **Values** вкладки **Variables** узла. Вот, например, как будет выглядеть данная вкладка для предыдущего примера для узла **MyService**:

![](/files/-MEYO_ymsIrJ2EG8Jiqb)

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

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