Skip to content

DropdownList

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

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

DropdownList

Bases: BaseElement

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

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

Source code in elements\dropdown_list_element.py
12
13
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
class DropdownList(BaseElement):
    """Класс для работы с выпадающими списками.

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

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

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

        return "dropdown list"

    # Действия:
    def click_item_with_text(self, text: str) -> None:
        """Выбирает элемент списка по указанному тексту.

        Args:
            text (str): Текст элемента для выбора.
        """

        logger.info(f'Selecting item with text "{text}" from dropdown "{self.name}"')
        self.page.get_by_role("listitem").filter(has_text=text).click()

    # Проверки:
    def check_item_with_text(self, text: str) -> None:
        """Проверяет наличие и доступность элемента списка.

        Args:
            text (str): Текст элемента для проверки.

        Raises:
            AssertionError: Если элемент отсутствует или недоступен.
        """

        logger.info(f'Checking item with text "{text}" in dropdown "{self.name}"')
        enabled = self.page.get_by_role("listitem").filter(has_text=text).is_enabled()
        if not enabled:
            assert False, f"Dropdown list item '{text}' is missing or disabled"

type_of property

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

Returns:

Name Type Description
str str

Тип элемента - 'выпадающий список'.

check_item_with_text(text)

Проверяет наличие и доступность элемента списка.

Parameters:

Name Type Description Default
text str

Текст элемента для проверки.

required

Raises:

Type Description
AssertionError

Если элемент отсутствует или недоступен.

Source code in elements\dropdown_list_element.py
41
42
43
44
45
46
47
48
49
50
51
52
53
54
def check_item_with_text(self, text: str) -> None:
    """Проверяет наличие и доступность элемента списка.

    Args:
        text (str): Текст элемента для проверки.

    Raises:
        AssertionError: Если элемент отсутствует или недоступен.
    """

    logger.info(f'Checking item with text "{text}" in dropdown "{self.name}"')
    enabled = self.page.get_by_role("listitem").filter(has_text=text).is_enabled()
    if not enabled:
        assert False, f"Dropdown list item '{text}' is missing or disabled"

click_item_with_text(text)

Выбирает элемент списка по указанному тексту.

Parameters:

Name Type Description Default
text str

Текст элемента для выбора.

required
Source code in elements\dropdown_list_element.py
30
31
32
33
34
35
36
37
38
def click_item_with_text(self, text: str) -> None:
    """Выбирает элемент списка по указанному тексту.

    Args:
        text (str): Текст элемента для выбора.
    """

    logger.info(f'Selecting item with text "{text}" from dropdown "{self.name}"')
    self.page.get_by_role("listitem").filter(has_text=text).click()