Ответ
Да, я активно использую Python для автоматизации тестирования. Это мой основной инструмент для написания скриптов, API- и UI-тестов. Мой стек и опыт включают:
- Фреймворки для тестирования:
pytest(основной выбор за фикстуры, параметризацию и плагины),unittest. - API-тестирование: Работа с библиотеками
requests,httpx. Пишу тесты для REST и GraphQL API, проверяю статус-коды, схемы ответов (используюjsonschema) и бизнес-логику. - UI-автоматизация: Опыт с
Selenium WebDriverиPlaywrightдля сквозного (E2E) тестирования веб-приложений. ИспользуюPage Object Modelдля поддержки кода. - Работа с данными: Использую
pandasдля анализа логов или тестовых данных,SQLAlchemyдля прямых проверок в БД в интеграционных тестах. - Дополнительные инструменты:
Allureилиpytest-htmlдля отчетов,Fakerдля генерации тестовых данных,venv/poetryдля управления зависимостями.
Пример API-теста с использованием pytest и проверкой схемы:
import pytest
import requests
from jsonschema import validate
schema = {
"type": "object",
"properties": {
"id": {"type": "integer"},
"title": {"type": "string"},
},
"required": ["id", "title"]
}
@pytest.mark.api
def test_get_product_schema():
response = requests.get("https://api.example.com/products/1")
assert response.status_code == 200
product_data = response.json()
validate(instance=product_data, schema=schema) # Валидация структуры ответа
assert product_data["id"] == 1