Классы и объекты
1. Что такое класс
Класс — это шаблон (описание), по которому создаются объекты.
Он описывает состояние (атрибуты) и поведение (методы) будущих объектов.
В Python класс создаётся с помощью ключевого слова
class
.
2. Что такое объект
Объект — это экземпляр класса.
Каждый объект имеет свои данные (атрибуты) и может выполнять действия (методы), определённые в классе.
3. Пример
class Car:
# Конструктор
def __init__(self, brand, model):
self.brand = brand # Атрибут экземпляра
self.model = model
# Метод экземпляра
def drive(self):
print(f"{self.brand} {self.model} поехала!")
# Создаём объект (экземпляр класса)
car1 = Car("Toyota", "Camry")
car2 = Car("BMW", "X5")
# Вызываем методы
car1.drive() # Toyota Camry поехала!
car2.drive() # BMW X5 поехала!
4. Важные моменты для собеседования
self
— ссылка на текущий объект (экземпляр класса).У класса есть:
атрибуты класса (общие для всех объектов),
атрибуты экземпляра (уникальные для каждого объекта).
Методы класса (
@classmethod
) и статические методы (@staticmethod
) не требуют обязательногоself
.
5. Применение в автоматизации тестирования
Page Object Model: каждый класс — это страница, а объекты — конкретные страницы в тестах.
Тестовые данные: можно хранить данные в атрибутах объекта, а методы — для работы с ними.
Драйверы: класс может представлять драйвер браузера, а объект — конкретный запущенный экземпляр браузера.
6. Мини-пример POM
class LoginPage:
def __init__(self, driver):
self.driver = driver
def open(self):
self.driver.get("https://site.com/login")
def login(self, username, password):
print(f"Ввожу логин: {username}, пароль: {password}")
# self.driver.find_element(...).send_keys(username)
# self.driver.find_element(...).send_keys(password)
# self.driver.find_element(...).click()
# В тесте
driver = object() # Заглушка вместо реального веб-драйвера
page = LoginPage(driver)
page.open()
page.login("admin", "1234")
Last updated
Was this helpful?