e-nms_qa_automation/elements/tooltip_button_element.py

52 lines
2.2 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.

"""Модуль tooltip_button_element содержит класс для работы с кнопками с подсказками.
Класс TooltipButton наследует базовый функционал BaseElement и добавляет
методы для проверки всплывающих подсказок у кнопок.
"""
from tools.logger import get_logger
from elements.base_element import BaseElement
logger = get_logger("TOOLTIP_BUTTON")
class TooltipButton(BaseElement):
"""Класс для работы с кнопками, имеющими всплывающие подсказки.
Наследует функциональность BaseElement и добавляет методы
для взаимодействия с подсказками кнопок.
"""
@property
def type_of(self) -> str:
"""Возвращает тип элемента ('tooltip_button').
Returns:
str: Тип элемента - кнопка с подсказкой.
"""
return "tooltip_button"
def check_tooltip_with_text(self, tooltip_locator: str, expected_text: str) -> None:
"""Проверяет соответствие текста всплывающей подсказки.
Args:
tooltip_locator (str): Локатор элемента подсказки.
expected_text (str): Ожидаемый текст подсказки.
Raises:
AssertionError: Если текст подсказки не соответствует ожидаемому.
"""
# Наведение на элемент для отображения подсказки
self.locator.hover()
# Получение элемента подсказки
tooltip = self.page.locator(tooltip_locator)
# Проверка соответствия текста
actual_text = tooltip.text_content().strip()
assert actual_text == expected_text, (
f"Текст подсказки не соответствует ожидаемому. "
f"Ожидалось: '{expected_text}', получено: '{actual_text}'"
)