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)