avatar
QA.GURU | Автоматизация, ручное тестирование, карьера в QA
@qa_guru
03.05.2025 11:01
Реальные примеры тестирования с Python

От умения строить тесты по принципу «от простого к сложному» и грамотно применять инструменты языка зависит качество и надежность кода.

Проще всего освоить работу с любым языком, включая Python, через реальные примеры. Мы начнём с простых проверок и шаг за шагом покажем, как перейти к более продвинутому тестированию на Python.

1. Начинаем с простых unit-тестов

Unit-тесты проверяют отдельные функции и методы. В Python для этого отлично подходит встроенный модуль unittest.

Пример:

python
import unittest

def add(a, b):
return a + b

class TestMath(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)


Такой тест быстро выявляет ошибки в логике отдельных функций.

2. Переходим к параметризации с pytest

Чтобы не дублировать код, используйте параметризацию — это позволяет запускать один тест с разными входными данными.

Пример с использованием pytest:

python
import pytest

@ pytest.mark.parametrize("a, b, expected", [
(2, 3, 5),
(0, 0, 0),
(-1, 1, 0),
])
def test_add(a, b, expected):
assert add(a, b) == expected


Параметризация делает тесты гибкими и расширяет покрытие.

3. Тестируем API с requests и pytest

Python подходит для автоматизации API-тестов. Используем библиотеку requests и pytest:

python
import requests

def test_status_code():
response = requests.get("https://api. example. com/status")
assert response.status_code == 200

Такой подход позволяет быстро проверять работоспособность внешних сервисов.

4. Автоматизируем UI с Selenium

Для тестирования веб-интерфейсов используем Selenium WebDriver.

Применяйте паттерн Page Object для структурирования кода.

python
from selenium import webdriver

class LoginPage:
def init(self, driver):
self.driver = driver

def login(self, username, password):
self.driver.find_element_by_id("username").send_keys(username)
self.driver.find_element_by_id("password").send_keys(password)
self.driver.find_element_by_id("loginBtn").click()

def test_login():
driver = webdriver.Chrome()
login_page = LoginPage(driver)
login_page.login("user", "pass")
# Добавьте проверки успешного входа
driver.quit()


Page Object повышает читаемость и удобство поддержки тестов.

5. Добавляем отчётность и интеграцию с CI/CD

Внедряйте инструменты для генерации отчётов (например, Allure) и запускайте тесты в CI/CD пайплайне. Это ускоряет обратную связь и стабилизирует процесс разработки.

Эти и многие другие приёмы вы освоите на курсе по автоматизации тестирования на Python.

Зарегистрируйтесь на открытый урок по Python по этой ссылке
qa.guru
Автоматизация тестирования на Python | Онлайн курс по написанию автотестов | QA.GURU
Курс по автоматизации тестирования на Python ?? Научим писать автотесты | Обучение онлайн без знания программирования и неподъёмных домашек ? Пошаговая поддержка в трудоустройстве ? Рекомендуем лучших студентов в крупные компании
3 582

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram