Тестирование API сайта https://qa-scooter.praktikum-services.ru/
В данном проекте реализованы автоматизированные тесты с использованием фреймворка pytest.
Тестируются ручки. Проверяется, что они корректно работают и выдают нужные ошибки.
test_add_courier.py Ручка создание курьера - POST /api/v1/courier Проверяется:
- курьера можно создать;
- нельзя создать двух одинаковых курьеров;
- чтобы создать курьера, нужно передать в ручку все обязательные поля;
- запрос возвращает правильный код ответа;
- успешный запрос возвращает {"ok":true};
- если одного из полей нет, запрос возвращает ошибку;
- если создать пользователя с логином, который уже есть, возвращается ошибка.
test_login_courier.py Ручка логин курьера - POST /api/v1/courier/login Проверяется:
- курьер может авторизоваться;
- для авторизации нужно передать все обязательные поля;
- система вернёт ошибку, если неправильно указать логин или пароль;
- если какого-то поля нет, запрос возвращает ошибку;
- если авторизоваться под несуществующим пользователем, запрос возвращает ошибку;
- успешный запрос возвращает id.
test_add_order.py Ручка создание заказа - POST /api/v1/orders Проверяется, что:
- можно указать один из цветов — BLACK или GREY;
- можно указать оба цвета;
- можно совсем не указывать цвет;
- тело ответа содержит track.
- Чтобы протестировать создание заказа, нужно использовать параметризацию.
test_list_order.py Ручка Список заказов - GET /api/v1/orders Проверяется, что:
- в тело ответа возвращается список заказов.
add_courier_methods.py метод на ручку создания курьера
login_courier_methods.py метод на ручку авторизации курьера
delete_courier_methods.py метод на ручку удаления курьера
add_order_methods.py метод на ручку создания заказа
list_order_methods.py метод на ручку получения списка заказов
cancel_order_methods.py метод на ручку отмены заказа
conftest.py Содержит фикстуры для создания курьера, получения его id и удаления его из системы
curl.py
Основные URL API
helper.py
Скрипт для генерации случайных данных для создания курьера (class GenerateRandom) и для создания заказа (class OrderDataGenerator)
pytest -v
pip install -r requirements.txt