e-nms_qa_automation/elements/checkbox_element.py

53 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"""Модуль checkbox_element содержит класс для работы с чекбоксами.
Класс Checkbox наследует базовый функционал BaseElement и добавляет
специфичные методы для работы с элементами типа 'чекбокс'.
"""
from tools.logger import get_logger
from elements.base_element import BaseElement
logger = get_logger("CHECKBOX")
class Checkbox(BaseElement):
"""Класс для работы с чекбоксами на странице.
Наследует функциональность BaseElement и добавляет методы для
взаимодействия с чекбоксами и проверки их состояния.
"""
@property
def type_of(self) -> str:
"""Возвращает тип элемента ('чекбокс').
Returns:
str: Тип элемента - 'чекбокс'.
"""
return "checkbox"
# Действия:
def check(self) -> None:
"""Отмечает чекбокс (устанавливает галочку)."""
logger.info(f"Checking checkbox '{self.name}'")
self.locator.check()
def uncheck(self) -> None:
"""Снимает отметку с чекбокса (убирает галочку)."""
logger.info(f"Unchecking checkbox '{self.name}'")
self.locator.uncheck()
# Проверки:
def is_checked(self) -> bool:
"""Проверяет, отмечен ли чекбокс.
Returns:
bool: True если отмечен, False если нет.
"""
logger.info(f"Checking if checkbox '{self.name}' is checked")
return self.locator.is_checked()