# TestNavigationPanel - Документация тестов eNODE-Мониторинг

Skip to content

# TestNavigationPanel

Модуль тестов панели навигации.

Содержит тесты для проверки функциональности панели навигации в приложении.

## `TestNavigationPanel`

Класс тестов для проверки панели навигации.

Тесты покрывают следующие сценарии: - test_expand_panel: Проверяет полное раскрытие панели навигации - test_sub_panel_item_click: Проверяет возможность клика заданного элемента в подпанели навигации

Атрибуты

browser: Фикстура для работы с браузером.

Source code in `tests\e2e\test_expand_navigation_panel.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
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124

    class TestNavigationPanel:
        """Класс тестов для проверки панели навигации.

        Тесты покрывают следующие сценарии:
        - test_expand_panel: Проверяет полное раскрытие панели навигации
        - test_sub_panel_item_click: Проверяет возможность клика заданного элемента в подпанели навигации

        Атрибуты:
            browser: Фикстура для работы с браузером.
        """

        # @pytest.mark.develop
        def test_expand_panel(self, browser: Page):
            """Проверяет полное раскрытие панели навигации.

            Args:
                browser: Фикстура для работы с браузером.

            """

            # Действия:
            lp = LoginPage(browser)
            lp.do_login()

            # Мы на главной странице
            mp = MainPage(browser)

            # Проверки:
            # Проверяем наличие панели навигации
            mp.should_be_navigation_panel()

            # Открываем все пункты панели
            mp.click_main_navigation_panel_item("Настройки")

            mp.expand_navigation_subpanel()

            mp.click_main_navigation_panel_item("Объекты")
            mp.wait_for_timeout(300)

            mp.expand_navigation_subpanel()

        # @pytest.mark.develop
        def test_sub_panel_item_click(self, browser: Page):
            """Проверяет возможность клика заданного элемента в подпанели навигации.

            Args:
                browser: Фикстура для работы с браузером.

            """

            # Действия:
            lp = LoginPage(browser)
            lp.do_login()

            # Мы на главной странице
            mp = MainPage(browser)

            # Проверки:
            # Проверяем наличие панели навигации
            mp.should_be_navigation_panel()

            # Открываем разные пункты панели
            mp.click_main_navigation_panel_item("Настройки")

            mp.click_subpanel_item("Обслуживание и диагностика")
            mp.click_subpanel_item("Статус обслуживания")
            mp.wait_for_timeout(2000)

            mp.click_subpanel_item("Сеансы")
            mp.click_subpanel_item("Настройки", parent="Сеансы")

            # Открываем/закрываем пункт панели
            mp.click_subpanel_item("Пользователи")
            mp.click_subpanel_item("Пользователи")
            mp.wait_for_timeout(2000)

            # Открываем пункты панели с одинаковыми имнами, но разным расположением
            mp.click_subpanel_item("Шаблоны")
            mp.wait_for_timeout(2000)

            mp.click_subpanel_item("Zero Touch Provisioning")
            mp.click_subpanel_item("Шаблоны", parent="Zero Touch Provisioning")
            mp.wait_for_timeout(2000)

            # Переходим к Объектам
            mp.click_main_navigation_panel_item("Объекты")
            mp.wait_for_timeout(5000)

            mp.click_subpanel_item("Физические устройства с опросом")
            mp.wait_for_timeout(3000)

            # Переходим Здание ЦОД 4
            mp.click_subpanel_item("Здание ЦОД 4")
            mp.wait_for_timeout(3000)

            # Переходим к Стойка КСПД с указанием родителя
            mp.click_subpanel_item("Стойка КСПД", parent="Здание ЦОД 4")
            mp.wait_for_timeout(5000)

            # Переходим к Объектам
            mp.click_main_navigation_panel_item("Объекты")
            mp.click_main_navigation_panel_item("Объекты") # баг
            mp.wait_for_timeout(5000)

            mp.click_subpanel_item("Виртуальные устройства")
            mp.wait_for_timeout(3000)

            # Переходим к Стойка систем питания с указанием родителя
            mp.click_subpanel_item("Стойка систем питания", parent="Виртуальные устройства")
            mp.wait_for_timeout(5000)

### `test_expand_panel(browser)`

Проверяет полное раскрытие панели навигации.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`browser` | `Page` | Фикстура для работы с браузером. | required

Source code in `tests\e2e\test_expand_navigation_panel.py`

    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

    def test_expand_panel(self, browser: Page):
        """Проверяет полное раскрытие панели навигации.

        Args:
            browser: Фикстура для работы с браузером.

        """

        # Действия:
        lp = LoginPage(browser)
        lp.do_login()

        # Мы на главной странице
        mp = MainPage(browser)

        # Проверки:
        # Проверяем наличие панели навигации
        mp.should_be_navigation_panel()

        # Открываем все пункты панели
        mp.click_main_navigation_panel_item("Настройки")

        mp.expand_navigation_subpanel()

        mp.click_main_navigation_panel_item("Объекты")
        mp.wait_for_timeout(300)

        mp.expand_navigation_subpanel()

### `test_sub_panel_item_click(browser)`

Проверяет возможность клика заданного элемента в подпанели навигации.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`browser` | `Page` | Фикстура для работы с браузером. | required

Source code in `tests\e2e\test_expand_navigation_panel.py`

     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
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124

    def test_sub_panel_item_click(self, browser: Page):
        """Проверяет возможность клика заданного элемента в подпанели навигации.

        Args:
            browser: Фикстура для работы с браузером.

        """

        # Действия:
        lp = LoginPage(browser)
        lp.do_login()

        # Мы на главной странице
        mp = MainPage(browser)

        # Проверки:
        # Проверяем наличие панели навигации
        mp.should_be_navigation_panel()

        # Открываем разные пункты панели
        mp.click_main_navigation_panel_item("Настройки")

        mp.click_subpanel_item("Обслуживание и диагностика")
        mp.click_subpanel_item("Статус обслуживания")
        mp.wait_for_timeout(2000)

        mp.click_subpanel_item("Сеансы")
        mp.click_subpanel_item("Настройки", parent="Сеансы")

        # Открываем/закрываем пункт панели
        mp.click_subpanel_item("Пользователи")
        mp.click_subpanel_item("Пользователи")
        mp.wait_for_timeout(2000)

        # Открываем пункты панели с одинаковыми имнами, но разным расположением
        mp.click_subpanel_item("Шаблоны")
        mp.wait_for_timeout(2000)

        mp.click_subpanel_item("Zero Touch Provisioning")
        mp.click_subpanel_item("Шаблоны", parent="Zero Touch Provisioning")
        mp.wait_for_timeout(2000)

        # Переходим к Объектам
        mp.click_main_navigation_panel_item("Объекты")
        mp.wait_for_timeout(5000)

        mp.click_subpanel_item("Физические устройства с опросом")
        mp.wait_for_timeout(3000)

        # Переходим Здание ЦОД 4
        mp.click_subpanel_item("Здание ЦОД 4")
        mp.wait_for_timeout(3000)

        # Переходим к Стойка КСПД с указанием родителя
        mp.click_subpanel_item("Стойка КСПД", parent="Здание ЦОД 4")
        mp.wait_for_timeout(5000)

        # Переходим к Объектам
        mp.click_main_navigation_panel_item("Объекты")
        mp.click_main_navigation_panel_item("Объекты") # баг
        mp.wait_for_timeout(5000)

        mp.click_subpanel_item("Виртуальные устройства")
        mp.wait_for_timeout(3000)

        # Переходим к Стойка систем питания с указанием родителя
        mp.click_subpanel_item("Стойка систем питания", parent="Виртуальные устройства")
        mp.wait_for_timeout(5000)