e-nms_qa_automation/tests/e2e/test_expand_navigation_pane...

131 lines
4.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"""Модуль тестов панели навигации.
Содержит тесты для проверки функциональности
панели навигации в приложении.
"""
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.click_subpanel_item("Шаблоны")
mp.wait_for_timeout(2000)
mp.click_subpanel_item("Zero Touch Provisioning")
# unsupported
# 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-01")
mp.wait_for_timeout(3000)
# Переходим к Стойке
mp.click_subpanel_item("Test-Rack-01")
mp.wait_for_timeout(5000)
# Переходим Здание ЦОД 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)