125 lines
4.6 KiB
Python
125 lines
4.6 KiB
Python
"""Модуль тестов панели навигации.
|
||
|
||
Содержит тесты для проверки функциональности
|
||
панели навигации в приложении.
|
||
"""
|
||
|
||
import pytest
|
||
from playwright.sync_api import Page
|
||
from pages.main_page import MainPage
|
||
from pages.login_page import LoginPage
|
||
|
||
|
||
# @pytest.mark.smoke
|
||
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("test-zone")
|
||
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)
|