Создайте себе коллекцию в Почтальоне с двумя запросами. Первый для /bar
, второй для /foo/{{id}}
, где {{id}}
- это параметр Почтальона, хранящийся либо в глобальных переменных, либо в переменных окружения (любое место в порядке, в приведенном ниже примере используются глобальные переменные).
Затем в тестовом скрипте первого запроса сохраняем fooIds для глобалов с помощью
pm.globals.set('fooIds', pm.response.json().fooIds.join(','));
В предварительном запросе второго запроса
// fetch the fooIds into an array (leaves it undefined if not found)
const fooIds = pm.globals.has('fooIds') && pm.globals.get('fooIds').split(',');
// if fooIds was found, and has a first element, save it
fooIds && fooIds[0] && pm.globals.set('id',fooIds.shift()); // .shift() removes the first element
// save the updated fooIds back to the globals
pm.globals.set('fooIds', fooIds.join(','));
Примечание: когда fooIds = []
, то fooIds.join(',')
возвращает "", а установка глобальной переменной в значение "" удаляет ее.
и, наконец, в тестовом скрипте второго запроса
pm.globals.has('fooIds') && postman.setNextRequest('nameOfFooRequest')
Если вы запустите это в Postman Collection Runner, это должно (надеюсь) перебрать массив идентификаторов.
(не забудьте сохранить перед запуском, поскольку у вас может быть бесконечный цикл)
Дайте мне знать, если у вас есть какие-либо проблемы.