Ответ
Использую Python как основной язык для автоматизации тестирования. Опыт включает:
- Написание автотестов: Использование фреймворков pytest и unittest.
- Веб-автоматизация: Работа с Selenium WebDriver через
webdriver-managerиselenium. - API-тестирование: Создание скриптов с библиотекой requests, валидация ответов с помощью JSON Schema и pydantic.
- Работа с данными: Использование pandas для анализа логов и результатов тестирования.
- Интеграция в CI/CD: Настройка запуска тестов в Jenkins/GitLab CI, генерация отчётов в Allure.
Пример теста API с использованием pytest и проверкой схемы ответа:
import pytest
import requests
from pydantic import BaseModel, ValidationError
# Модель для валидации ответа
class User(BaseModel):
id: int
name: str
email: str
def test_get_user_by_id():
url = "https://api.example.com/users/1"
response = requests.get(url)
# Проверка HTTP-статуса
assert response.status_code == 200
# Валидация структуры и типов данных ответа через Pydantic
try:
user = User(**response.json())
assert user.id == 1
assert "@" in user.email
except ValidationError as e:
pytest.fail(f"Ответ API не соответствует ожидаемой схеме: {e}")