ВНИМАНИЕ - baseurl для api изменился теперь вместо

http://www.answerit.ru/api нужно писать

http://www.qaces.ru/

В тексте изменения внесены, а в картинках нет.

Тестирование API Урок 4

Четвёртый урок - по-прежнему шлём PUT фокусируемся на ответах сервера.

С этого урока я считаю, что Вы уже в состоянии создать новый Request, изменить Path и знаете как выполнить запрос.

Наш воображаемый менеджер получил новый email от клиента и API получает дополнительный endpoint

/prod_order/

и новую версию документации.

Base URL: 'http://www.qaces.ru' … 4. Resource: /prod_order/<int:prod_order_id> Method: PUT Allowed prod_order_id:[10000;20000] Responses: 200 OK application/json {"Success":"PO with id <int:prod_order_id> created."} Order out of allowed range: 412 Precondition Failed application/json {"Error":"This order value is not allowed"} …

Запросы из предыдущих уроков я временно убрал обозначив их наличие знаком …

Разберём, что нового в этой версии

Allowed prod_order_id:[10000;20000]

Это ограничение на prod_order_id. В предыдущим уроке мы могли передать любое целое число и получить в ответ 200 ОК.

Теперь нужно, чтобы id был от 10000 до 20000.

Если мы отправим какое-то неправильное число в качестве prod_order_id разработчики предусмотрели специальную ошибку 412.

Order out of allowed range:
412 Precondition Failed

Дополнительный код ошибки помогает тестировщику понять что именно пошло не так.

В предыдущем уроке мы получали ошибку 404 когда вводили вместо числа строку ( повторить )

Проверьте, что и с /prod_order/<int:prod_order_id> она никуда не делась.

Сейчас получив 404 мы понимаем, что передано что-то принципиально неправильное.

Получив 412 мы знаем, что технически запрос корректен, но переданный id не удовлетворяет дополнительному условию.

Отправим запрос, который, по нашему мнению, дожен удовлетворить заданым условиям и вернуть 200 ОК.

Например, передадим prod_order_id равный 13243. 13243 больше 10000 и меньше 20000.

Пример тестирования API изображение с сайта www.andreyolegovich.ru

Как и ожидалось пришёл ответ 200 ОК.

Обратим внимание на строку {"Success": PO with id 13243 created."}

В документации написано следующее

application/json
{"Success":"PO with id <int:prod_order_id> created."}

application/json означает, что ответ сервера оформлен особым образом - в виде JSON.

Фигурные скобки, кавычки и двоеточие как раз оттуда.

{"Success":"PO with id <int:prod_order_id> created."} это дополнительная подсказка.

Если в этом ответе вместо <int:prod_order_id> будет 13243, значит сервер отвечает именно на наш запрос.

{"Success": PO with id 13243 created."} - всё получилось как мы и ожидали.

Что будет, если мы пошлём не 13243 а 7.

7 меньше 10000 значит получим ошибку 412. Вместе с ошибкой придёт подсказка, тоже в формате JSON

application/json
{"Error":"This order value is not allowed"}

Проверим

Пример тестирования API изображение с сайта www.andreyolegovich.ru

Откройте этот же ответ во вкладке JSON

Пример тестирования API изображение с сайта www.andreyolegovich.ru

Здесь показан только сам JSON, который пришёл от сервера.

Во вкладке XML наш ответ отображаться не будет, потому что он в другом формате

Пример тестирования API изображение с сайта www.andreyolegovich.ru

Вкладку HTML можете посмотреть самостоятельно в качестве упражнения.

Проверим нашу «старую» ошибку 404. Отправляем заведомо неправильный запрос

/prod_order/andreyolegovich.ru

Пример тестирования API изображение с сайта www.andreyolegovich.ru

По-прежнему 404 Not Found.

Not Found Вы видите, а где проверить, что это 404 уже должны знать - напишите в комментариях получилось или нет.

Итоги

После первых четырёх уроков Вы знаете как создавать простые REST запросы в SOAP UI .

Вы знакомы с методами GET и PUT .

Знаете, что в случае успеха нужно ждать ответ 200 OK или похожий на него.

Видели ошибки типа 4XX а именно 404 Not Found и 412 Preconditon failed.

Знаете, что ответ сервера может быть без формата или в формате JSON.

Догадываетесь, что кроме формата JSON есть ещё, как-минимум, XML и HTML

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

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: