SputnikQA
Описание
SputnikQA — удобный и лаконичный фреймворк автоматизации тестирования созданный для QA специалистов. Сейчас поддерживает REST API, но в будущем охватит все направления, где требуется Automation QA.
Языки
- Python100%
🛰️ SputnikQA — Test Automation Framework
SputnikQA — это современный, типизированный и расширяемый фреймворк для написания автотестов на Python.
Идеально подходит для команд, которые хотят писать читаемые, надёжные и поддерживаемые автотесты.
Установка
Основные возможности
-
restapi booster
- Типизированные модели ответов через Pydantic
- Автоматическая валидация статуса и тела ответа
- Декларативные секции API (
) — по аналогии с Page ObjectBaseApiSection - Билдеры запросов — для удобного формирования тел и multipart-загрузок
- Поддержка middleware — логирование, авторизация, retry и др.
- Встроенная интеграция с Allure:
- шаги с @allure.step
- прикрепление cURL, статуса и тела ответа
- шаги с
- Гибкий HTTP-клиент — поддержка
* и кастомных реализацийhttpx - Поддержка async/await через AsyncApiClient
*Для использования
требуется установка дополнительной зависимости:httpxpip install sputnikqa[httpx] - Типизированные модели ответов через
Пример использования
1. Определите модель ответа
2. Создайте секцию API
3. Напишите тест
Архитектура
Интеграции
Allure
Автоматически прикрепляет к отчёту:
- cURL-команду запроса
- HTTP-статус
- тело ответа
Требуется:
pip install sputnikqa[allure,httpx]
Документация и примеры
Полный пример тестов для Petstore API доступен в репозитории:
- Пример: response_models.py
- Пример: sections/pet.py
- Пример: test_pet.py
Для разработчиков
Хотите расширить фреймворк?
- Реализуйте свой
для кастомного HTTP-стека.BaseHttpClient - Напишите middleware для авторизации, retry или трассировки.
- Используйте
для обёртки примитивов (PrimitiveResponse,str,int).dict
Лицензия
Distributed under the MIT License. See LICENSE for more information.
SputnikQA — ваш надёжный спутник в мире автоматизации тестирования.
📌 PyPI: https://pypi.org/project/sputnikqa/
📌 GitVerse: https://gitverse.ru/crenom/SputnikQA