Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Z9411_КафкаРС_ПИ_ЛР1

.docx
Скачиваний:
1
Добавлен:
18.06.2024
Размер:
613.15 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

доцент

Е. Л. Турнецкая

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА №1

ТЕСТИРОВАНИЕ API НА ПЛАТФОРМЕ POSTMAN

по дисциплине: Программная инженерия

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ гр. №

Z9411

Р. С. Кафка

номер группы

подпись, дата

инициалы, фамилия

Студенческий билет №

2019/3603

Шифр ИНДО

Санкт-Петербург 2024

Цель работы: изучение технологии доступа по API к серверной части веб-приложения с использованием платформы для теcтирования Postman.

Вариант задания: №8

Номера категории: 9, 6, 16

Ход работы:

  1. Зарегистрировался на облачной платформе тестирования Postman (https://www.postman.com/). После регистрации создалось рабочее пространство для работы в веб-версии продукта (рис.1).

Рисунок 1 – Рабочее пространство в Postman

  1. Создал новую коллекцию: New > Collection. В ней будут сохранены все запросы с различными методами. Так как в работе предстоит тестирование API приложения Chuck Norris, то назвал коллекцию также «Chuck Norris» (рис.2).

Рисунок 2 – Создание новой коллекции

  1. Создал новый запрос и назвал его «Chuck joke». Из впадающего списка вариантов выбрал метод GET (рис.3).

Рисунок 3 – Создание нового запроса

  1. Ввёл параметры запроса https://api.chucknorris.io/jokes/random, копируя их части из документации по API и нажал кнопку SEND (рис. 4).

Рисунок 4 – Результат выполнения запроса

Формат ответа соответствует варианту, представленному в документации по API. Так как в ответе от сервера представлены случайные шутки, то значение параметра value, в котором показана шутка при каждом новом запросе, будет разными. Для проверки последнего утверждения нажал кнопку SEND повторно и получил другой результат (рис.5).

Рисунок 5 – Новый результат выполнения повторного запроса

  1. Сохранил запрос, нажав кнопку Save.

  2. Взял второй API со страницы документации https://api.chucknorris.io/jokes/categories.

  3. Открыл данный API в браузере (рис.6).

Рисунок 6 – Отображение категорий шуток

  1. Создал новый запрос. Для этого нажал на знак Плюс рядом с названием запроса Chuck joke.

  2. В поле ввода текста запроса скопировал https://api.chucknorris.io/jokes/random?category={category}. Затем сформовал параметры запроса, для этого набрал в столбце KEY название атрибута categories и ввёл его параметр animal. В окне ответа от сервера определил JSON-формат и выполнил запрос (рис.7).

Рисунок 7 – Выполнение запроса на шутку категории animal

  1. Сохранил запрос под именем Category Animal.

  2. Провёл позитивное тестирование, выбрав шутки по 3 существующим категориям, согласно варианту №8. Номера категорий: 9 – money, 6 – fashion, 16 – travel. Результаты представлены на рисунках 8-10.

Рисунок 8 – Выполнение запроса на шутку категории money

Рисунок 9 – Выполнение запроса на шутку категории fashion

Рисунок 10 – Выполнение запроса на шутку категории travel

  1. Выполнил негативное тестирование и выполнил запрос с несуществующей категорией. Выполнение запроса представлено на рисунке 11.

Рисунок 11 – Выполнение запроса с несуществующей категорией

Я получил сообщение об ошибке 404, что означает, что не найдено ни одной шутки для категории “kafka” в базе данных API Chuck Norris. Сообщение об ошибке гласит: “No jokes for category "kafka" found.”.

  1. Результаты выполненных запросов, исходя из задач тестирования:

Целью тестирования было проверить работоспособность API Chuck Norris для получения шуток по различным категориям. Тестовые запросы и результаты представлены в таблице 1.

Таблица 1 – Тестовые запросы и результаты

Запрос

Результат

https://api.chucknorris.io/jokes/random?category=money

Получена шутка о Чаке Норрисе, связанная с категорией “деньги”. Результат соответствует ожидаемому, что подтверждает работоспособность API для данной категории.

https://api.chucknorris.io/jokes/random?category=fashion

Получена шутка о Чаке Норрисе, связанная с категорией “мода”. Результат соответствует ожидаемому, что подтверждает работоспособность API для данной категории.

https://api.chucknorris.io/jokes/random?category=travel

Получена шутка о Чаке Норрисе, связанная с категорией “путешествия”. Результат соответствует ожидаемому, что подтверждает работоспособность API для данной категории.

https://api.chucknorris.io/jokes/random?category=kafka

Получено сообщение об ошибке 404, что означает, что не найдено ни одной шутки для категории “kafka”. Это подтверждает, что API корректно обрабатывает запросы к несуществующим категориям.

ВЫВОД

В результате лабораторной работы я изучил технологии доступа по API к серверной части веб-приложения с использованием платформы для теcтирования Postman.

В процессе работы я выполнил несколько запросов к API Chuck Norris для получения шуток по различным категориям. Это позволило мне понять, как формировать запросы к API и как интерпретировать полученные ответы. Я также столкнулся с ситуацией, когда запрос к несуществующей категории возвращал ошибку, что помогло мне лучше понять, как API обрабатывает некорректные запросы. API Chuck Norris работает корректно для существующих категорий и адекватно реагирует на запросы к несуществующим категориям. Это подтверждает его надёжность и пригодность для использования в приложениях, требующих функциональности поиска шуток по категориям.

Также я попробовал выполнить дополнительное задание и протестировать любой сервис, в котором у меня есть личный кабинет на ввод неправильного пароля и логина, однако я не понял, как это будет сделать корректно и с каким именно сайтом. Я узнал, что в контексте входа в систему, обычно используется POST-запрос, поскольку мы отправляем конфиденциальные данные (такие как имя пользователя и пароль) на сервер. Если бы мы использовали GET-запрос, то имя пользователя и пароль отображались бы в URL, что является небезопасным. Кроме того, вход в систему может иметь побочные эффекты (например, изменение состояния входа в систему пользователя), поэтому POST-запрос является более подходящим выбором. Я пробовал делать POST запросы на следующие сайты: https://pro.guap.ru/inside/profile, https://vk.com/login, https://reqres.in/api/login. Первые 2 сайта просто предоставляли мне HTML код страницы, последний – сообщение об ошибке, что неверный username или email. Даже при попытке указать их в запросе ничего не изменялось. Возможно, у меня не получилось, потому что надо заходить не через обычные ссылки на вход, а которые поддерживают API запросы. Но полной уверенности нет. Если бы было больше времени на выполнение работы, то тогда можно было бы больше изучить данный вопрос.

В целом, работа оказалась интересной и не очень сложной. У себя на работе я сталкивался с подобным, под названием Microsoft Graph Explorer (https://developer.microsoft.com/en-us/graph/graph-explorer), но достаточно поверхностно, т.к. я состою не в архитектурной команде, а технической поддержке. Иногда команда из Microsoft поддержки просила выполнить какой-нибудь GET запрос в нём (из нашей организации (tenant)) и прислать скриншот результатов.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  • Chuck Norris Jokes Api – [Электронный ресурс] – URL: https://api.chucknorris.io/ (Дата обращения: 24.01.2024)

  • Postman API Platform – [Электронный ресурс] – URL: https://web.postman.co/ (Дата обращения: 24.01.2024)

13