Skip to content

TestRackTab

Модуль тестов вкладки 'Стойка' в модуле Объекты.

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

TestRackTab

Набор тестов для вкладки 'Стойка' в модуле Объекты.

Проверяет корректность отображения, функциональность элементов интерфейса и переключение между вкладками стойки оборудования.

Тесты покрывают следующие функциональные области: 1. test_rack_tab_content - Базовая структура и содержимое вкладки стойки 2. test_rack_tab_switching - Функциональность переключения между вкладками стойки

Source code in tests\e2e\rack\test_rack_tab.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
class TestRackTab:
    """Набор тестов для вкладки 'Стойка' в модуле Объекты.

    Проверяет корректность отображения, функциональность элементов интерфейса
    и переключение между вкладками стойки оборудования.

    Тесты покрывают следующие функциональные области:
    1. test_rack_tab_content - Базовая структура и содержимое вкладки стойки
    2. test_rack_tab_switching - Функциональность переключения между вкладками стойки
    """

    @pytest.fixture(scope="function", autouse=True)
    def setup(self, browser: Page) -> None:
        """Фикстура для подготовки тестового окружения.

        Выполняет:
        1. Авторизацию в системе
        2. Переход к стойке оборудования через панель навигации:
           - Объекты → Физические устройства с опросом → Здание ЦОД 4 → Стойка КСПД

        Args:
            browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
        """
        # Авторизация в системе
        lp = LoginPage(browser)
        lp.do_login()

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

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

        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(10000)

    @pytest.mark.develop
    def test_rack_tab_content(self, browser: Page) -> None:
        """Тест содержимого вкладки 'Стойка'.

        Проверяет:
        1. Наличие и корректность заголовка панели с навигационной цепочкой
        2. Отображение и структуру обеих сторон стойки (лицевой и обратной)
        3. Наличие и функциональность кнопок панели инструментов
        4. Корректность отображения юнитов и устройств на стойке

        Args:
            browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
        """
        expected_toolbar_subtitles = [
            "Мониторинг и инвентаризация",
            'chevron_right',
            "Физические устройства с опросом",
            'chevron_right',
            "Здание ЦОД 4",
            'chevron_right',
            "Стойка КСПД"
        ]

        rt = RackTab(browser)
        rt.should_be_header_panel(expected_toolbar_subtitles)

        # Комплексная проверка отображения обеих сторон стойки с детальной информацией
        rt.should_be_rack_sides_displayed()

        # Переход в режим редактирования
        rt.should_be_toolbar_buttons()
        rt.wait_for_timeout(2000)

    def test_rack_tab_switching(self, browser: Page) -> None:
        """Тест переключения между вкладками стойки оборудования.

        Проверяет функциональность переключения на все доступные вкладки:
        1. Общая информация
        2. Обслуживание
        3. События
        4. Сервисы

        Проверяет:
        1. Наличие и доступность всех вкладок
        2. Корректность активации вкладок после переключения
        3. Отсутствие ошибок при последовательном переключении

        Args:
            browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
        """
        rt = RackTab(browser)

        # Проверяем переключение между всеми вкладками стойки
        rt.check_tab_switching()

setup(browser)

Фикстура для подготовки тестового окружения.

Выполняет: 1. Авторизацию в системе 2. Переход к стойке оборудования через панель навигации: - Объекты → Физические устройства с опросом → Здание ЦОД 4 → Стойка КСПД

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright для взаимодействия с UI

required
Source code in tests\e2e\rack\test_rack_tab.py
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
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
    """Фикстура для подготовки тестового окружения.

    Выполняет:
    1. Авторизацию в системе
    2. Переход к стойке оборудования через панель навигации:
       - Объекты → Физические устройства с опросом → Здание ЦОД 4 → Стойка КСПД

    Args:
        browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
    """
    # Авторизация в системе
    lp = LoginPage(browser)
    lp.do_login()

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

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

    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(10000)

test_rack_tab_content(browser)

Тест содержимого вкладки 'Стойка'.

Проверяет: 1. Наличие и корректность заголовка панели с навигационной цепочкой 2. Отображение и структуру обеих сторон стойки (лицевой и обратной) 3. Наличие и функциональность кнопок панели инструментов 4. Корректность отображения юнитов и устройств на стойке

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright для взаимодействия с UI

required
Source code in tests\e2e\rack\test_rack_tab.py
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
@pytest.mark.develop
def test_rack_tab_content(self, browser: Page) -> None:
    """Тест содержимого вкладки 'Стойка'.

    Проверяет:
    1. Наличие и корректность заголовка панели с навигационной цепочкой
    2. Отображение и структуру обеих сторон стойки (лицевой и обратной)
    3. Наличие и функциональность кнопок панели инструментов
    4. Корректность отображения юнитов и устройств на стойке

    Args:
        browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
    """
    expected_toolbar_subtitles = [
        "Мониторинг и инвентаризация",
        'chevron_right',
        "Физические устройства с опросом",
        'chevron_right',
        "Здание ЦОД 4",
        'chevron_right',
        "Стойка КСПД"
    ]

    rt = RackTab(browser)
    rt.should_be_header_panel(expected_toolbar_subtitles)

    # Комплексная проверка отображения обеих сторон стойки с детальной информацией
    rt.should_be_rack_sides_displayed()

    # Переход в режим редактирования
    rt.should_be_toolbar_buttons()
    rt.wait_for_timeout(2000)

test_rack_tab_switching(browser)

Тест переключения между вкладками стойки оборудования.

Проверяет функциональность переключения на все доступные вкладки: 1. Общая информация 2. Обслуживание 3. События 4. Сервисы

Проверяет: 1. Наличие и доступность всех вкладок 2. Корректность активации вкладок после переключения 3. Отсутствие ошибок при последовательном переключении

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright для взаимодействия с UI

required
Source code in tests\e2e\rack\test_rack_tab.py
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
def test_rack_tab_switching(self, browser: Page) -> None:
    """Тест переключения между вкладками стойки оборудования.

    Проверяет функциональность переключения на все доступные вкладки:
    1. Общая информация
    2. Обслуживание
    3. События
    4. Сервисы

    Проверяет:
    1. Наличие и доступность всех вкладок
    2. Корректность активации вкладок после переключения
    3. Отсутствие ошибок при последовательном переключении

    Args:
        browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
    """
    rt = RackTab(browser)

    # Проверяем переключение между всеми вкладками стойки
    rt.check_tab_switching()