Какой у вас опыт написания скриптов для автоматизации?

«Какой у вас опыт написания скриптов для автоматизации?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, есть значительный опыт написания скриптов на Python и Bash для автоматизации задач тестирования и DevOps.

1. Автоматизация API-тестов (Python, pytest):

import requests
import pytest

BASE_URL = "https://api.example.com"

# Тест статуса ответа
def test_api_status_code():
    response = requests.get(f"{BASE_URL}/users")
    assert response.status_code == 200, f"Expected 200, got {response.status_code}"

# Тест данных ответа
def test_api_response_data():
    response = requests.get(f"{BASE_URL}/users/1")
    data = response.json()
    assert data["id"] == 1
    assert "name" in data

2. Bash-скрипты для настройки окружения и CI/CD:

#!/bin/bash
# Скрипт для подготовки тестового окружения

echo "Установка зависимостей..."
pip install -r requirements.txt

echo "Запуск миграций базы данных..."
python manage.py migrate

echo "Запуск тестов..."
pytest -v

Типичные задачи для скриптов:

  • Подготовка данных: Генерация тестовых пользователей, заказов и т.д.
  • Парсинг и анализ: Обработка логов, извлечение метрик из отчетов.
  • Инфраструктура: Автоматизация развертывания стендов, очистки временных файлов.
  • Интеграция: Связка различных инструментов в единый пайплайн.