Если вы никогда раньше не слышали про REST-запросы, то вам сюда ツ
Давайте рассмотрим на примере, который вы можете прямо сейчас взять и повторить. Показывать я буду на системе Users, которая находится в открытом доступе. А запросы будем посылать через бесплатный инструмент Postman.
Отправлять мы будем запрос doRegister.
REST отличается от SOAP-а тем, что тут необязательно должен быть контракт (WADL). И если его нет, то без документации вы запрос не отправите. Попробуем с документацией!
1. Запустить Postman — он сразу откроет окно ввода запроса. Слева отображается история выполненных ранее запросов. Исходно она пуста, но скоро заполнится =)
2. Тип метода — POST
Это написано в документации в плашке. И вообще в Users все методы — POST.
3. URL метода — http://users.bugred.ru/tasks/rest/doregister
Он есть в документации. Но хотя в документации описаны не все методы, их список есть по ссылке http://users.bugred.ru/tasks/rest/list, оттуда и брали URL для ТЗ. Если у вас нет WADL, то просите хотя бы такую ссылку с названиями всех методов
4. Тело запроса: Body — form-data
Смотрим в ТЗ, какие поля надо заполнить, их и передаем.
Например:
5. Все, отправляем запрос — большая кнопка Send
Снизу видим ответ, ошибку или данные по созданному клиенту. В нашем случае все прошло хорошо!
Профит! Мы отправили первый запрос за пару минут. Postman и тот дольше скачивали! ツ
См также:
Освоение тестирования REST API — еще про рест
Как отправить SOAP-запрос в Soap Ui — аналогичная статья про SOAP-запросы
А от меня еще пара заметок по инструменту из серии HOWTO
Если нужно передать заголовки, перейдите на вкладку Headers рядом с Body.
В Users обязательных заголовков нет (в большинстве методов), поэтому мы этот шаг пропускали.
Если от пользователя не нужны заголовки — значит, система сама их назначает стандартными или теми, которые разработчик зашил в коде. А так то заголовки всегда есть, они как минимум говорят о том, что за метод мы вообще передаем.
Авторизация передается или в заголовке в виде токена, или на отдельной вкладке
Любой запрос можно сохранить, для этого тыкните на кнопку Save:
Система предложит выбрать коллекцию для сохранения или создать новую. Потом все сохраненные запросы будут доступны на вкладке Collections
Очень удобно, чтобы не писать запрос с нуля каждый раз или не бегать искать его по History
Тыкнуть на запрос — Ctrl + D.
Или нажать на многоточие справа от названия — Duplicate.
Давайте рассмотрим на примере, который вы можете прямо сейчас взять и повторить. Показывать я буду на системе Users, которая находится в открытом доступе. А запросы будем посылать через бесплатный инструмент Postman.
Отправить первый запроса с нуля
Отправлять мы будем запрос doRegister.
REST отличается от SOAP-а тем, что тут необязательно должен быть контракт (WADL). И если его нет, то без документации вы запрос не отправите. Попробуем с документацией!
1. Запустить Postman — он сразу откроет окно ввода запроса. Слева отображается история выполненных ранее запросов. Исходно она пуста, но скоро заполнится =)
2. Тип метода — POST
Это написано в документации в плашке. И вообще в Users все методы — POST.
3. URL метода — http://users.bugred.ru/tasks/rest/doregister
Он есть в документации. Но хотя в документации описаны не все методы, их список есть по ссылке http://users.bugred.ru/tasks/rest/list, оттуда и брали URL для ТЗ. Если у вас нет WADL, то просите хотя бы такую ссылку с названиями всех методов
4. Тело запроса: Body — form-data
Смотрим в ТЗ, какие поля надо заполнить, их и передаем.
- Key — имя параметра
- Value — значение.
Например:
- email — test_blog@gmail.com
- name — Блоггер
- password — 1
5. Все, отправляем запрос — большая кнопка Send
Снизу видим ответ, ошибку или данные по созданному клиенту. В нашем случае все прошло хорошо!
Профит! Мы отправили первый запрос за пару минут. Postman и тот дольше скачивали! ツ
См также:
Освоение тестирования REST API — еще про рест
Как отправить SOAP-запрос в Soap Ui — аналогичная статья про SOAP-запросы
А от меня еще пара заметок по инструменту из серии HOWTO
Указать заголовки
Если нужно передать заголовки, перейдите на вкладку Headers рядом с Body.
В Users обязательных заголовков нет (в большинстве методов), поэтому мы этот шаг пропускали.
Если от пользователя не нужны заголовки — значит, система сама их назначает стандартными или теми, которые разработчик зашил в коде. А так то заголовки всегда есть, они как минимум говорят о том, что за метод мы вообще передаем.
Авторизоваться
Авторизация передается или в заголовке в виде токена, или на отдельной вкладке
Сохранить запрос
Любой запрос можно сохранить, для этого тыкните на кнопку Save:
Система предложит выбрать коллекцию для сохранения или создать новую. Потом все сохраненные запросы будут доступны на вкладке Collections
Очень удобно, чтобы не писать запрос с нуля каждый раз или не бегать искать его по History
Клонировать запрос
Тыкнуть на запрос — Ctrl + D.
Или нажать на многоточие справа от названия — Duplicate.
Создать новый запрос
Просто нажать на плюсик около вашей вкладки
Домашнее задание
Попробуйте создать пользователя в Users через REST! Или поисследуйте другие REST-методы приложения, это придаст уверенности в своих знаниях =)
PS — статья написана в помощь студентам моего курса «Тестирование REST API»
Добавлена на Testbase в навык использования инструментов. Теперь не потеряется!
Ольга, подскажите, пожалуйста, можно ли увидеть как вызываются методы в сети разработчика?
ОтветитьУдалитьНе поняла вопрос, что за "сеть разработчика"?
УдалитьПо F12 которая вызывается
УдалитьВы можете выполнять действия в Users и смотреть на то, что уходит по сети, но там могут быть совершенно другие методы, потому что SOAP и REST добавлялся в готовую систему позднее
Удалитьl
ОтветитьУдалитьСтолкнулась с проблемой, что нужно в url запроса ввести параметр-наименование, а он содержит слэш (вида NA/ME). Можно как-то его ввести, чтобы этот слэш воспринимался именно как часть навания, а не часть пути?
ОтветитьУдалитьЭкранировать пробовали?
УдалитьСпасибо, что откликнулись!
УдалитьПробовала заменить слэш на %2F. К сожалению, не помогло - 400 Bad Request. Пробовала заменить эту часть ссылки на переменную в двойных фигурных скобках - то же самое.
Что посоветуете еще попробовать?
Экранировать спецсимвол — NA\/ME
УдалитьОльга, здравствуйте. Подскажите пожалуйста: пропало удобное форматирование Respons-а, теперь весь ответ идет последовательно, а ранее каждый блок был с новой строки, что было очень удобно. Возможно изменение произошло после того, как копался в настройках, но это не точно. Не подскажете как вернуть форматирование?
ОтветитьУдалитьИзменить форматировароние ответа на json или какой у вас формат возвращается) Прям над ответом кнопку Pretty, если тыкали рядом стоящие, то могло измениться. Ну и справа от нее выпадайка
УдалитьФормат выбран JSON, и Pretty активна при выполнении запроса, также на нее нажимал принудительно. Ответ на запрос приходит, но нет удобного форматирования: не в таком виде, как у Вас на слайде в пункте 5, а в виде, когда все располагается друг за другом и переход на новую строку осуществляется при окончании места на текущей строке. Я не пойму как переключить, чтобы ответ отображался с форматированием, как у Вас на слайде пункта 5: где каждый параметр расположен с новой строки (хотя ранее именно так ответ и был отформатирован).
Удалить