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

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

Variable assignment

Это создание привязки части запроса к какой-либо динамической переменной. На данный момент данную привязку можно сделать только в RequestStep узле. Для иллюстрации давайте создадим запрос который создает новый пост и сохраним id созданного постав в динамическую переменную.

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

RequestStep после выполнения запроса

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

Вид контекстного меню

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

Диалог присвоения динамической переменной

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

  1. Путь в переменной $request, из которого будет браться значение

  2. Выпадающий список предков, которым можно назначить динамическую переменную

  3. Текущее значение по данному пути

  4. Название динамической переменной

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

После присвоения динамической переменной ее можно найти в списке динамических переменных того узла, где производилось присвоение, т.е, в RequestStep узле. Список динамических переменных можно найти в диалоге переменных на вкладке Dynamic variables.

Список динамических переменных RequestStep узла

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

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