"""Модуль тестов вкладки 'Объекты'. Содержит тесты для проверки функциональности работы с объектами. """ 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: """Проверяет содержимое вкладки 'Cтойка'. 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")