Skip to content

# TextInput

Модуль text_input_element содержит класс для работы с текстовыми полями ввода.

Класс TextInput наследует базовый функционал BaseElement и предоставляет методы для взаимодействия с текстовыми полями ввода на странице.

## `TextInput`

Bases: `BaseElement`

Класс для работы с текстовыми полями ввода.

Наследует функциональность BaseElement и добавляет методы для ввода, очистки и проверки текстовых полей.

Source code in `elements\text_input_element.py`

    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    class TextInput(BaseElement):
        """Класс для работы с текстовыми полями ввода.

        Наследует функциональность BaseElement и добавляет методы
        для ввода, очистки и проверки текстовых полей.
        """

        @property
        def type_of(self) -> str:
            """Возвращает тип элемента ('текстовое поле ввода').

            Returns:
                str: Тип элемента - 'текстовое поле ввода'.
            """

            return "text input"

        # Действия:
        def get_input_value(self) -> str:
            """Возвращает текущее значение поля ввода.

            Returns:
                str: Текущее значение в поле.
            """

            logger.info(f'Getting value from text input "{self.name}"')
            return self.locator.input_value()

        def get_input_type(self) -> str:
            """Возвращает значение аттрибута type поля ввода.

            Returns:
                str: Значение аттрибута type.
            """

            return self.locator.get_attribute("type")

        def input_value(self, value: str) -> None:
            """Вводит указанное значение в поле.

            Args:
                value (str): Значение для ввода.
            """

            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 (str): Сообщение об ошибке при неудачной проверке.

            Raises:
                AssertionError: Если поле не пустое.
            """

            logger.info(f'Checking that text input "{self.name}" is empty')
            expect(self.locator).to_be_empty(), msg

### `type_of` `property`

Возвращает тип элемента ('текстовое поле ввода').

Returns:

Name | Type | Description
--- | --- | ---
`str` | `str` | Тип элемента - 'текстовое поле ввода'.

### `check_empty_input(msg)`

Проверяет, что поле ввода пустое.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`msg` | `str` | Сообщение об ошибке при неудачной проверке. | required

Raises:

Type | Description
--- | ---
`AssertionError` | Если поле не пустое.

Source code in `elements\text_input_element.py`

    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    def check_empty_input(self, msg: str) -> None:
        """Проверяет, что поле ввода пустое.

        Args:
            msg (str): Сообщение об ошибке при неудачной проверке.

        Raises:
            AssertionError: Если поле не пустое.
        """

        logger.info(f'Checking that text input "{self.name}" is empty')
        expect(self.locator).to_be_empty(), msg

### `clear()`

Очищает содержимое текстового поля.

Source code in `elements\text_input_element.py`

    61
    62
    63
    64
    65
    66
    def clear(self) -> None:
        """Очищает содержимое текстового поля."""

        logger.info(f'Clearing text input "{self.name}"')
        self.locator.press('Control+A')
        self.locator.press('Backspace')

### `get_input_type()`

Возвращает значение аттрибута type поля ввода.

Returns:

Name | Type | Description
--- | --- | ---
`str` | `str` | Значение аттрибута type.

Source code in `elements\text_input_element.py`

    42
    43
    44
    45
    46
    47
    48
    49
    def get_input_type(self) -> str:
        """Возвращает значение аттрибута type поля ввода.

        Returns:
            str: Значение аттрибута type.
        """

        return self.locator.get_attribute("type")

### `get_input_value()`

Возвращает текущее значение поля ввода.

Returns:

Name | Type | Description
--- | --- | ---
`str` | `str` | Текущее значение в поле.

Source code in `elements\text_input_element.py`

    32
    33
    34
    35
    36
    37
    38
    39
    40
    def get_input_value(self) -> str:
        """Возвращает текущее значение поля ввода.

        Returns:
            str: Текущее значение в поле.
        """

        logger.info(f'Getting value from text input "{self.name}"')
        return self.locator.input_value()

### `input_value(value)`

Вводит указанное значение в поле.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`value` | `str` | Значение для ввода. | required

Source code in `elements\text_input_element.py`

    51
    52
    53
    54
    55
    56
    57
    58
    59
    def input_value(self, value: str) -> None:
        """Вводит указанное значение в поле.

        Args:
            value (str): Значение для ввода.
        """

        logger.info(f'Inputting value "{value}" to text input "{self.name}"')
        self.locator.fill(value)