Небольшой API на Flask + набор коллекций для Postman + набор тестов на PyTest, созданные для учебных целей
Создано для вебинаров:
- QARATE #5: https://youtu.be/q9Xoic_14M0
- QARATE #6: https://youtu.be/WVNVeHtmBjc
Проект QARATE: https://bit.ly/qarate-public
- Postman
- Python 3.9+ (рекомендуется последняя версия)
- uv (современный менеджер пакетов Python)
Windows:
- Скачать Python с https://www.python.org/downloads/
- Запустить установщик, обязательно отметить "Add Python to PATH"
macOS:
# С помощью Homebrew (рекомендуется)
brew install python
# Или скачать с https://www.python.org/downloads/Linux (Ubuntu/Debian):
sudo apt update
sudo apt install python3 python3-pipВсе операционные системы:
curl -LsSf https://astral.sh/uv/install.sh | shИли для Windows PowerShell:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"После установки перезапустите терминал или выполните:
source ~/.bashrc # Linux/macOS
# или просто закройте и откройте терминал заново- Открыть терминал/командную строку
- Перейти в папку проекта:
cd path/to/BowserAPI-Tests- Установить все зависимости одной командой:
uv sync- В папке проекта выполнить:
uv run python BowserAPI/bowserapi.pyАльтернативный способ (через Flask CLI):
# Установить переменную окружения
export FLASK_APP=BowserAPI/bowserapi.py # Linux/macOS
# или для Windows:
# set FLASK_APP=BowserAPI/bowserapi.py
# Запустить
uv run flask runAPI доступно по адресу http://127.0.0.1:5000/
Swagger доступен на http://127.0.0.1:5000/apidocs/
- Открыть Postman
- Открыть диалог "Manage environments"
- Нажать кнопку "Import"
- Выбрать файл
Postman tests/Collections/QARATE Localhost.postman_environment.json
- Открыть Postman
- Ctrl+O (или File → Import)
- В появившемся окне выбрать папку
Postman tests/Collections/ - Импортировать все файлы
.postman_collection.json
Смотреть в вебинаре
- В корневой папке проекта выполнить:
uv run pytest "PyTest tests/"Для запуска конкретного теста:
uv run pytest "PyTest tests/lesson_1_no_pytest/test_no_pytest.py"Для запуска с подробным выводом:
uv run pytest "PyTest tests/" -vПодробнее смотреть в вебинаре
# Добавить новый пакет в проект
uv add package-name
# Удалить пакет
uv remove package-name
# Обновить зависимости
uv sync
# Запуск Python скрипта в виртуальном окружении
uv run python script.py
# Активация виртуального окружения (опционально)
source .venv/bin/activate # Linux/macOS
# или .venv\Scripts\activate # WindowsПроблема: "uv: command not found"
- Перезапустите терминал после установки uv
- Убедитесь, что путь
~/.local/binдобавлен в PATH
Проблема: "Python not found"
- Убедитесь, что Python установлен и добавлен в PATH
- Попробуйте команду
python3вместоpython
Проблема с доступом к API:
- Убедитесь, что Flask запущен и не выдает ошибки
- Проверьте, что порт 5000 не занят другим приложением