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

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

Variable assignment

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Last updated