e-nms_qa_automation/tests/e2e/rack/test_rack_general_info.py

87 lines
3.1 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 tools.logger import get_logger
from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.rack_general_info import RackGeneralInfo
logger = get_logger("TestRackGeneralInfo")
# @pytest.mark.smoke
class TestRackGeneralInfo:
"""Набор тестов для вкладки 'Стойка' в Объектах.
Проверяет корректность отображения и функциональность элементов вкладки Стойка.
"""
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Настраивает тестовое окружение.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
mp.should_be_navigation_panel()
# Переходим к Объектам
mp.click_main_navigation_panel_item("Объекты")
browser.wait_for_timeout(3000)
mp.click_subpanel_item("Виртуальные устройства")
browser.wait_for_timeout(3000)
# Переходим к Стойка систем питания с указанием родителя
mp.click_subpanel_item("Стойка систем питания", parent="Виртуальные устройства")
browser.wait_for_timeout(5000)
def test_rack_tab_content(self, browser: Page) -> None:
"""Проверяет содержимое вкладки 'ойка'.
Args:
browser: Экземпляр страницы Playwright.
"""
rack_tab = RackGeneralInfo(browser)
# Добавляем отладку
rack_tab.debug_page_content()
# Проверяем основные элементы
rack_tab.should_be_toolbar()
#rack_tab.should_be_rack_info_table()
rack_tab.check_rack_general_info_content()
def test_rack_tab_toolbar_buttons(self, browser: Page) -> None:
"""Проверяет кнопки на панели инструментов.
Args:
browser: Экземпляр страницы Playwright.
"""
rack_tab = RackGeneralInfo(browser)
rack_tab.should_be_toolbar_buttons()
@pytest.mark.develop
def test_rack_tab_switching(self, browser: Page) -> None:
"""Проверяет переключение между вкладками стойки."""
rack_tab = RackGeneralInfo(browser)
# Сначала отладочная информация
rack_tab.debug_tabs_structure()
rack_tab.debug_tabs_clickability()
# Затем проверяем переключение
rack_tab.check_tab_switching()
logger.info("All tab switching tests completed successfully")