Рубрики
Без рубрики

Автоматизированное тестирование API для отдыха с Python

Исследуйте, запросите, утверждают. Присоединяйтесь ко мне в моем путешествии, тестирование API в Python. Помечено Python, тестирование, учебник, API.

Первоначально опубликовано: https://www.dowen.me.uk/automated-rest-ap-testing-with-python/

В прошлый раз я познакомил вас на начало моего путешествия, чтобы автоматизировать все «тестовые» вещи в Python. Я продолжаю, что путешествие сейчас, переключая сосредоточенность вдали от Frontend, для спокойных веб-API. Вы можете оглянуться назад на мой последний пост здесь Отказ

Для этой ноги путешествия я буду использовать модули Python Запросы и Pyassert Отказ

Изучение API

Прежде чем вы можете сделать запросы, и вам нужно понять API ваше тестирование. Для этого я рекомендую использовать клиент отдыха. Хотя у вас уже могут быть безумные навыки вкручиваемости, для всех остальных, я предлагаю использовать Почтальон , Бессонница или SOAPUI Отказ

Если, как и я, вы хотите разработать свои навыки тестирования API в безопасном месте, за пределами любых рабочих проектов, есть несколько отличных вариантов!

Министерство тестирования имеет страницу ресурса, перечисленные некоторые из этих вариантов Сайты для практики тестирования Отказ Тот, который я использую, это Redful booker по Марк Уинтенгем .

Начните свою разведку с помощью документации API. Для спокойного букера вы можете найти, что здесь Отказ

Чтобы узнать больше о тестировании API и используя почтальон, я предлагаю бесплатный курс Изучение API на службу через тестовую автоматику по Amber Race Отказ

Делать запросы

Вдохновлен статьей Интеграция API в Python – часть 1 Я начал, создавая клиент Python в абстрактные взаимодействия с API RESTFLE BULLER. Статья не сосредоточена на тестировании, а вместо этого показывает нам, как построить библиотеку API, используя запросы.

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

Вы можете поближе взглянуть на мою библиотеку API для RESTFLE BULLER, а мой код отдыха на Pybooker Репозиторий GitHub.

Этот основной пример делает запрос на получение URL https://restful-booker.herokuapp.com/booking/1/ и печатает результирующее тело ответа JSON в консоль Python. Бег это дает нам:

Поскольку метод возвращает объект ответа, мы можем не только получить корпус JSON, но и полезную информацию, такой как код состояния HTTP.

Запросы могут воспользоваться широким диапазоном HTTP-методах, исследуйте его и посмотреть, что вы можете сделать!

Утверждать это

Хорошо, так что теперь мы можем сделать запросы и получить доступ к возвращенному ответу в объекте. С этим мы можем начать реализацию некоторых автоматизированных проверок, чтобы увидеть, вернулись ли мы то, что мы ожидаем.

Для этого я использовал модуль падальство , вы также можете использовать другие библиотеки утверждений, такие как FluentCheck . Я использую PTEST, чтобы запустить свои тесты.

Хотя вы можете утверждать почти на каждом аспекте ответа, самым основным чеком является ответ Возврат «ОК». Это означает, что мы сделали действительный запрос, и служба не бросала внутреннюю ошибку сервера.

Еще один шаг будет утверждать на код состояния HTTP. Например, для того, чтобы вы ожидаете, что вы преуспели, вы можете ожидать «200 успехов», а для создания нового предмета с постом вы можете ожидать «201 созданного».

Вы можете узнать больше о кодах состояния HTTP HTTP статус собаки или HTTP Cats Отказ

Оригинал: “https://dev.to/dowenb/automated-rest-api-testing-with-python-2jm5”