Как отправить файл в postman
Перейти к содержимому

Как отправить файл в postman

  • автор:

How to upload a file with Postman

When you’re developing a web API with file uploading, you can use Postman to send files in test requests. This simplifies development because you don’t have to write your own client-side code for sending the test requests.

In this article, I’ll show how to upload a file with Postman by posting a file in a multipart/form-data request.

1 – Create a POST request

In Postman, create a new request by clicking the plus (+) button:

Postman - Red arrow pointing to the plus (+) button with text "Click to create a new request"

Set the method to POST, and fill in the request URL:

Postman - with the method dropdown set to POST, and the request url field set to https://localhost:12345/files/

In this example, I’m testing a web API that’s running locally.

2 – Add a file as form data

In the Body tab, select the form-data option. Then hover your mouse over the row so you can see a dropdown appear that says Text. Click this dropdown and set it to File.

Postman - Body tab with the form-data selected (text pointing to it says "This is multipart/form-data"). Shows the Text dropdown on the right-side of the Key column in the first row. Clicking this shows a dropdown with two options: Text, File. Set it to File.

Fill in the key name. If the web API is receiving the file with a parameter / property, then make sure this key name matches the parameter name. Finally, click the Select Files button (the name may be different depending on which version of Postman you’re using):

Postman - Shows the key column with value "file" (matches the web API's file parameter name). Shows an arrow pointing to the Select Files button.

Clicking Select Files will open a file selection dialog window. Select one or more files. Now you’ll see the selected filename(s) in the Value column:

Как отправить файл в postman

Screenshot that shows the

Screenshot that shows

Screenshot that shows

Screenshot that shows

Создание указателя SAS и URL-адреса отправки

  • С определенным ресурсом нельзя связать более пяти уникальных указателей одновременно. Дополнительную информацию см. в разделе «Указатель».
  • Если вам необходимо незамедлительно передать файлы, следует задать для StartTime значение, на пять минут предшествующее текущему моменту времени. Это необходимо из-за возможного расхождения в показаниях часов на клиентском компьютере и в службах мультимедиа. Кроме того, значение StartTime должно быть указано в следующем формате DateTime: ГГГГ-ММ-ДДTЧЧ:мм:ссZ (например, «2014-05-23T17:53:50Z»).
  • Задержка между моментом создания сущности Locator и моментом, когда ее можно начинать использовать, может составлять 30-40 секунд.

Screenshot that shows

Отправка файла с помощью Postman

Screenshot that shows the

Upload a file

How to upload a file and JSON data in Postman?

user avatar

Kindly follow steps from top to bottom as shown in below image.

postman image

At third step you will find dropdown of type selection as shown in below image

postman dropdown

user avatar

Body > binary > Select File

enter image description here

user avatar

If you need like Upload file in multipart using form data and send json data(Dto object) in same POST Request

Get yor JSON object as String in Controller and make it Deserialize by adding this line

user avatar

If somebody needed:

body -> form-data

Add field name as array

enter image description here

user avatar

Use below code in spring rest side :

enter image description here

user avatar

If you want to make a PUT request, just do everything as a POST request but add _method => PUT to your form-data parameters.

I needed to pass both: a file and an integer. I did it this way:

needed to pass a file to upload: did it as per Sumit’s answer.

Request type : POST

Body -> form-data

under the heading KEY, entered the name of the variable (‘file’ in my backend code).

Next to ‘file’, there’s a drop-down box which allows you to choose between ‘File’ or ‘Text’. Chose ‘File’ and under the heading VALUE, ‘Select files’ appeared. Clicked on this which opened a window to select the file.

Как пользоваться Postman

Postman — это очень популярная среди разработчиков программа для тестирования работы различных API или просто отправки POST и GET запросов на сервер. Она имеет графический интерфейс и поэтому намного удобнее консольной утилиты curl. Вы можете очень просто настраивать передаваемые Cookie, HTTP заголовки, а также параметры форм.

Всё это позволяет удобно проверить работу любого API, и даже обычного веб-сайта. В этой статье мы рассмотрим как пользоваться Postman для тестирования HTTP запросов.

Установка Postman

Загрузить Postman для Windows можно на официальном сайте программы. Кроме версии для Windows, здесь есть портативные версии для Linux и MacOS.

После загрузки будет необходимо запустить загруженную программу. В Linux также можно установить программу из центра приложений Ubuntu:

Или с помощью универсального менеджера пакетов snap. Для этого выполните:

sudo snap install postman

После завершения установки postman в Linux можно запускать программу из главного меню.

После первого запуска программа предлагает создать бесплатный аккаунт. Он необходим для синхронизации результатов вашей работы между устройствами. Создайте аккаунт или войдите в уже существующий нажав кнопку Sign In. Для создания аккаунта надо ввести адрес электронной почты, ваш ник, пароль и нажать оранжевую кнопку Create Free Account:

После входа в аккаунт вы попадёте в главное окно программы. Дальше давайте рассмотрим использование Postman, это будет так сказать инструкция для чайников, поэтому если вы уже пользовались программой и всё в ней знаете, то вам будет не интересно.

Как пользоваться Postman

1. Интерфейс

Давайте сначала разберемся с интерфейсом Postman. Главное окно можно условно разделить на несколько частей:

  • Верхняя панель — здесь находятся основные элементы настроек программы;
  • Боковая панель — тут находится список запросов выполненных ранее и сохранённые в виде коллекций запросы;
  • Панель вкладок — позволяет переключаться между вкладками запросов;
  • Рабочая область — здесь размещены основные настройки запроса и возвращённые им данные.

Предлагаю пока не трогать сложные настройки, а разобраться с обычной отправкой запросов.

2. Выполнение запроса

Для того чтобы выполнить простой запрос не сохраняя его в коллекцию найдите на панели вкладок кнопку со значком + и кликните по ней. Откроется новая вкладка, где вы можете выбрать тип запроса GET или POST, а также прописать URL, которую надо открыть. Например, можно получить главную страницу losst.pro. Для отправки запроса нажмите кнопку Send:

В нижней части страницы сразу же отобразится HTML код страницы. Здесь есть несколько вкладок:

  • Body — всё, что было возвращено сервером в теле запроса;
  • Cookie — записанные сервером;
  • Headers — заголовки возвращённые сервером.

Кроме того, на вкладке Body можно выбрать несколько вариантов отображения. Вкладка Pretty полезна для JSON данных, они будут отформатированы в удобном для чтения формате, вкладка Raw выводит данные как есть, а на вкладке Preview можно посмотреть как выглядит открытый сайт:

Это самый простой вариант, но давайте попробуем работать с API.

2. Передача параметров

Программа Postman предоставляет свой API сервис, который можно использовать для тестирования клиентов API. Это postman-echo.com. Например, если отправить запрос по адресу https://postman-echo.com/git и передать туда несколько параметров, вы получите в ответ переданные параметры, а также заголовки в формате JSON.

Выберите тип запроса GET, в поле URL вставьте https://postman-echo.com/get. Затем откройте вкладку Params и здесь в разделе Query Params под надписью Key напишите название параметра, например foo, затем, напротив него под надписью Value напишите значение параметра, например, bar. Таких параметров можно добавить столько, сколько вам нужно. После нажатия кнопки Send запрос отправится и вы получите результат внизу страницы:

Чтобы в следующем запросе эти параметры нам не мешали, снимите с них галочки. Это сообщит программе, что передавать их не нужно.

3. Передача параметров формы

Если вы хотите отправить POST запрос, передать параметры таким же образом не получится потому что в POST параметры передаются не в URL, а в теле запроса. Выберите тип запроса POST, URLhttps://postman-echo.com/post. Затем перейдите на вкладку Body и поставьте переключатель в положение form-data. Теперь аналогично предыдущему пункту добавьте параметры и нажмите кнопку Send:

В ответ вы получите те же параметры.

4. Передача заголовков

Иногда API требуют передавать токены авторизации с помощью HTTP заголовков. Так делает, например, форумный движок на PHP — Xenforo. Чтобы передать в заголовках какую-либо информацию на сервер перейдите на вкладку Headers и добавьте здесь имя заголовка и его значение. Здесь URL та же, метод тот же. Например, X-Header-Foo со значением bar:

После отправки запроса вы увидите его в разделе Headers внизу окна, значит он был передан на сервер.

5. Передача файла

До этого мы передавали только текстовые данные, но ничего не мешает передать файл в Postman. Для этого вернитесь на вкладку Body, в раздел form-data. Здесь сделайте нужный параметр неактивным и выберите тип параметра вместо TextFile:

Затем нажмите Select file, там, где должно быть значение параметра и выберите файл. После отправки его на сервер, вы найдёте полученный файл в секции files:

Теперь вы знаете как отправить файл Postman, как видите, всё просто.

6. Авторизация Basic Auth

Иногда для защиты тех или иных URL на сервере используется авторизация Basic Auth. Программа Postman тоже умеет её проходить. Для примера будем использовать API URL https://postman-echo.com/basic-auth. Здесь, для того чтобы пройти авторизацию на передать имя пользователя postman, а пароль password.

В рабочей области откройте вкладку Authorization, в разделе Type выберите Basic Auth и заполните имя пользователя и пароль:

Если всё прошло успешно, то тестовый сервер вернёт вам ответ authenticated: true:

7. История запросов

История ранее выполненных запросов — это довольно удобный инструмент, который позволяет не набирать одни и те же данные, если вам надо повторить ранее выполненный запрос. Чтобы посмотреть историю на боковой панели откройте вкладку History. Здесь отображаются все запросы под датам. Вы можете открыть любой из них и посмотреть что вернул сервер, а также выполнить его снова:

8. Коллекции запросов

Если вам нужно часто повторять одни и те же запросы с определёнными параметрами, вы можете создать отдельную коллекцию запросов. Для того чтобы создать коллекцию нажмите кнопку New на верхней панели, затем выберите Collection и в открывшемся окне введите имя коллекции, например, Test Requests:

Чтобы добавить в коллекцию запрос, нажмите ту же кнопку New и кликните по ссылке Request. В открывшемся окне надо ввести имя запроса, а чуть ниже выбрать коллекцию к которой следует его добавить. После этого нажмите кнопку Create и можете заполнять данные запроса и смотреть ответ как это описано выше. Когда всё будет настроено кликните по кнопке Save, которая находится рядом с Send чтобы сохранить этот запрос.

После этого вы сможете найти свой запрос открыв на боковой панели вкладку Collections:

Благодаря использованию аккаунта все ваши запросы будут синхронизированы между устройствами, на которых вы используете программу.

Выводы

Теперь вы знаете как пользоваться Postman для проверки работоспособности вашего API. Конечно, мы рассмотрели далеко не все возможности и функции программы, но этого вам будет достаточно чтобы начать её полноценно использовать и отправлять различные запросы. А какие программы используете вы для таких целей? Напишите в комментариях!

Жизнь — это движение! А тестирование — это жизнь 🙂

Давайте рассмотрим на примере, который вы можете прямо сейчас взять и повторить. Показывать я буду на системе Users, которая находится в открытом доступе. А запросы будем посылать через бесплатный инструмент Postman.

Для передачи картинки в Users есть метод AddAvatar. Как его вызвать:

1. Создать новый запрос, тип POST

2. Прописать URL. Он состоит из двух частей:

  • ссылка на метод — http://users.bugred.ru/tasks/rest/addavatar/
  • параметр email — ?email=

Параметр из URL автоматически появляется на вкладке Params в постмане:

3. Указать тело запроса.

Так как email мы уже передали, в теле отправляем только второй параметр из ТЗ: avatar.
Указываем название параметра и справа в углу переключаем тип параметра — с Text на File.

Теперь в value не строка ввода, а возможность выбрать файл.

Выбираем файл формата jpg и весом 10 кб

4. Отправить запрос, нажать на кнопку «Send»

Ну вот и все! Теперь можно проверить в интерфейсе — и правда, аватарка установилась, ура!

Если хочется ее удалить тоже через Postman, используйте метод DeleteAvatar.

PS — статья написана в помощь студентам моего курса «Тестирование REST API»

Комментариев нет:
Отправить комментарий

Обо мне

Моя фотография Ольга Назина (Киселева) Уже более 12 лет как тестировщик 🙂
Автор портала Testbase — школы начинающих тестировщиков.
Автор Багреда — сервиса проверки названия багов

Я веду курсы для тестировщиков (для начинающих и не только). Отдельные ссылки смотри ниже в блоке «мои курсы»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *