Приходилось ли вам писать код для автоматизации тестирования?

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

Ответ

Да. Основной опыт — написание автотестов на Python.

UI-тестирование:

  • Использую Selenium WebDriver для автоматизации браузера.
  • Фреймворк pytest для организации тестов, фикстур и отчетов.
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_login():
    driver = webdriver.Chrome()
    driver.get("https://example.com/login")

    driver.find_element(By.ID, "username").send_keys("test_user")
    driver.find_element(By.ID, "password").send_keys("pass123")
    driver.find_element(By.ID, "submit").click()

    assert "Welcome" in driver.page_source
    driver.quit()

API-тестирование:

  • Библиотека requests для отправки HTTP-запросов.
  • Валидация статус-кодов, заголовков и тела ответа (JSON).
import requests

def test_api_status():
    response = requests.get("https://api.example.com/status")

    assert response.status_code == 200
    assert response.json()["status"] == "OK"

Дополнительно: базовый SQL для проверки корректности данных в базе после выполнения тестовых сценариев.