🏠 | 💻 IT | Оглавление |

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

POST с телом в формате JSON

Документация для пятого урока

Base URL: 'http://www.answerit.ru' … 5. Resource: /api/multiply_two/ Method: POST Body: { "factor_1" : float, "factor_2" : float } Responses: 200 OK application/json { "Success":"Product of %factor_1% and %factor_2% is %product%" } where %product% = %factor_1% * %factor_2%

Что нового в документации:

Method POST который мы ещё не применяли.

Менять метод Вы уже умеете, так что здесь никаких сложностей.

Появилось Body. Это значит, что в запросе будет не только Endpoint но и какие-то данные внутри.

Создаём новый Resource с методом POST и обращаем внимание на то, что когда Вы меняете метод с GET на POST в нижней части окна слева появляется новое поле.

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

Заполним это поле данными в формате JSON по спецификации.

Body: { "factor_1" : float, "factor_2" : float }

Нужно записать данные в формате JSON

Например, попробуем отправить для начала целые числа 10 и 2. Ожидаем получить в ответ JSON с информацией о том чему равно их произведение.

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

Если всё прошло успешно, мы узнаем что 10 умножить на 2 это 20

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

Попробуйте передать другие целые числа и проверьте результат.

Следующий шаг - попробуем передать числа типа float то есть с так называемой плавующеё точкой.

Самый простой спосом - просто приписать .0 к уже существующим числам.

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

Как видите, в этом примере ничего существенно не изменилось, просто добавился .0

Так как мы учимся тестировать, не будем останавливаться и пошлём другие числа. В этот раз после . пусть будут не нули.

Например, передадим 10.1 и 2.2

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

Результат не совсем такой как ожидалось: 10.1 умножить на 2.2 это ровно 22.22 и никаких 0000000000002 быть не должно.

Видимо, разработчик понадеялся на умножение внутри языка программирования и не подумал о таком результате.

Напишем ему вежливый email, или сообщение в баг-трекинговой системе, примерно следующего содержания:

В ответ, скорее всего, придёт что-то про Representation Error, разработчик не при чём и надо учить матчасть.

Но это тоже часть работы тестировщика.

Оформление отчётов о найденных багах это отедельная история для следующих уроков. Чем менее забюрократизирована компания тем неформальнее может быть отчёт. Главное - предоставить всю информацию, необходимую для идентификации проблемы.

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

Итоги

В этом уроке Вы могли научиться отправлять запрос POST с телом в формате JSON.

До этого знакомство с JSON ограничивалось получением данных с сервера, а теперь Вы уже можете написать простой JSON по спецификации самостоятельно.

Вы нашли кандидата на баг - поздравляю! И написали небольшой отчёт.

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

Если остались вопросы - смело задавайте их в комментариях.

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