Массовые запросы API POST/PUT с использованием POSTMAN или любых других средств
У меня есть список запросов API, которые уже находятся в формате URL. Мне просто нужно отправить их один за другим автоматически и зарегистрировать их результаты.
Единственный способ, который я мог сделать, - это скопировать каждый URL-адрес и отправить их с помощью почтальона. Но это действительно отнимает много времени. Я попытался посмотреть на средство выполнения задач, но мне показалось, что мне трудно установить переменную, равную файлу данных, со всеми моими запросами.
https://someApi/clientAssign?auth=123|asdf&otherParamsList=123Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=456Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=899Params
Я не уверен, как запускать указанные выше URL-адреса один за другим с помощью почтальона. У меня около 60 запросов POST и 60 запросов PUT
Может ли кто-нибудь предложить способ добиться этого. Я могу сделать это, скопировав URL-адреса и разместив их вручную. Я просто не в состоянии тратить на это столько времени очень часто. И я уже потратил время на подготовку URL-адреса с заменой правильных значений и готовностью к работе. Любая помощь приветствуется.
3 ответа
Неважно, я придумал способ использовать бегунок коллекции почтальона, чтобы добиться того же. Для тех, кто боролся так же, как и я, вот как использовать эту функцию, и еще проще подставлять значения в свой URL-адрес на ходу.
Сначала создайте запрос в Postman:
Ниже приведен снимок экрана для примера:
Теперь необходимо опубликовать следующий URL: https: // someApiPOSTRequest / clientAssign? Auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL
со значениями, заменяемыми на {{VariableFromFile}} из файла csv, который вам нужно будет загрузить. Ваш csv должен быть отформатирован, как показано ниже, где в заголовке должно быть то же имя переменной, что и в вашем URL:
Нажмите на кнопку ">", показанной ниже рядом примера папку и нажмите "Выполнить", чтобы открыть то же самое на коллекции бегуна окна почтальона:
Как только откроется окно Collection Runner, нажмите на опцию выбора файла, чтобы загрузить файл csv, и поле Итерации по умолчанию предварительно заполнено количеством записей в файле csv. Вы можете изменить это число, и когда вы убедитесь, что количество итераций, которые вы хотите запустить, напрямую связано с количеством строк в загруженном CSV.
Вы также можете предварительно просмотреть загруженный файл CSV:
Если вы нажмете кнопку " Выполнить пример", исполнитель коллекции отправит URL-адрес 9 раз с заменой {{VariableFromFile}} значением из файла csv для каждой итерации.
Вы можете заменить больше переменных, просто создав еще один столбец с соответствующим именем переменной и используя то же самое при вызове API. Это так просто. Для меня это уменьшило объем ручной работы!!
Вы также можете обратиться к приведенной ниже ссылке, по которой я научился использовать эту функцию в Postman. Ссылка
Надеюсь, это будет кому-то полезно.
Многие разработчики будут использовать ответ chethandb, но проблема (как и я) заключается не только в массовом выполнении запросов, но и в сохранении ответов где-то.
- первоначальный запрос
RECIPIENTACCOUNT — это переменная/параметр, используемый в CSV и передаваемый в каждом запросе.
- обновление первоначального запроса
Добавьте следующий код во вкладку Tests:
let responses = pm.collectionVariables.get('collectionResponses')
if(responses) {
responses = JSON.parse(responses);
} else {
responses = []
}
responses.push(pm.response.json());
pm.collectionVariables.set('collectionResponses', JSON.stringify(responses));
Сделайте csv, содержащий параметры (в моем случае ибаны клиентов).
/home/rudy/рабочий стол/recipientaccount.csv
Я не разглашаю номера получателей наших клиентов.
Важно отметить, что RECIPIENTACCOUNT используется в запросе как параметр.
Тогда вы готовы идти.
- Выполнение запросов
Нажмите на стрелку справа (не отображается, потому что исчезает).
Нажмите на бег. Открывается новое окно.
Нажмите «Выбрать файл», чтобы сделать выбор файла и выбрать (например) реципиентаккаунт.csv.
Нажмите «Сохранить ответы».
Измените «Итерации» (при необходимости).
Вы можете «предварительно просмотреть», если хотите.
Нажмите синюю кнопку (в моем примере — «Выполнить достижимость клиента»).
Запросы выполняются (последовательно).
Я ограничил количество запросов до 3 (на картинке отображается «1», извините)Все 3 запроса были выполнены правильно.
- Теперь пришло время получить результаты.
Закройте окно «прогонщик коллекции».
Назад к «Досягаемость клиентов»
Нажмите на 3 точки справа и на «изменить».
Нажмите на переменные и сделайте выбор и скопируйте результаты из «ТЕКУЩЕЕ ЗНАЧЕНИЕ»:
[{"данные":{"id":"НЕ РАСКРЫТ","тип":"zoomitCustomerSearch","атрибуты":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","статус":"недоступен"}}},{"данные":{"id":"НЕ РАСКРЫТ","тип":"zoomitCustomerSearch","атрибуты":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","статус":"недоступен "}}},{"данные":{"id":"НЕ РАСКРЫТ","тип":"zoomitCustomerSearch","атрибуты":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","статус":"не -достижимый"}}}]
Результаты представляют собой одну большую строку. Вы должны использовать sed/awk/... для форматирования результатов по желанию.
Я нашел решение, добавляющее необработанные данные как
JSON
. из
Body > raw
[
{
"text": "Buy Milk",
"completed": true
},
{
"text": "Check updated of wall street",
"completed": false
},
{
"text": "Play game with team",
"completed": true
}
]