e-nms_qa_automation/elements/text_input_element.py

59 lines
2.1 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.

from playwright.sync_api import expect
from elements.base_element import BaseElement
from tools.logger import get_logger
logger = get_logger("TEXT_INPUT")
class TextInput(BaseElement):
"""Класс для работы с текстовыми полями ввода на странице.
Наследует функциональность базового элемента и добавляет специфичные для текстовых полей методы.
"""
@property
def type_of(self) -> str:
"""Возвращает тип элемента - 'текстовое поле ввода'.
Returns:
Строка с типом элемента.
"""
return "text input"
# Действия:
def get_input_value(self) -> str:
"""Получает текущее значение текстового поля.
Returns:
Текущее значение поля ввода.
"""
logger.info(f'Getting value from text input "{self.name}"')
return self.locator.input_value()
def input_value(self, value: str) -> None:
"""Вводит указанное значение в текстовое поле.
Args:
value: Значение для ввода.
"""
logger.info(f'Inputting value "{value}" to text input "{self.name}"')
self.locator.fill(value)
def clear(self) -> None:
"""Очищает содержимое текстового поля."""
logger.info(f'Clearing text input "{self.name}"')
self.locator.press('Control+A')
self.locator.press('Backspace')
# Проверки:
def check_empty_input(self, msg: str) -> None:
"""Проверяет, что текстовое поле пустое.
Args:
msg: Сообщение об ошибке при неудачной проверке.
Raises:
AssertionError: Если поле не пустое.
"""
logger.info(f'Checking that text input "{self.name}" is empty')
expect(self.locator).to_be_empty(), msg