Массовые запросы 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
  }
]
Другие вопросы по тегам