🏠 | 💻 IT | QA | Contents |

Тестирование 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 image from website www.aredel.com

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

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

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

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

Пример тестирования API image from website www.aredel.com

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

Пример тестирования API image from website www.aredel.com

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

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

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

Пример тестирования API image from website www.aredel.com

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

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

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

Пример тестирования API image from website www.aredel.com

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

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

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

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

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

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

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

Итоги

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

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

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

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

Share in social media: