"""Модуль тестов панели навигации. Содержит тесты для проверки функциональности и прокрутки панели навигации в приложении. """ from playwright.sync_api import Page from pages.main_page import MainPage from pages.login_page import LoginPage # Запуск с viewport: {'width': 300, 'height': 420} # @pytest.mark.smoke class TestNavigationPanel: """Класс тестов для проверки панели навигации. Атрибуты: browser: Фикстура для работы с браузером. """ def test_verticall_scrolling(self, browser: Page): """Проверяет вертикальную прокрутку панели навигации. Args: browser: Фикстура для работы с браузером. Raises: AssertionError: Если панель не поддерживает прокрутку. """ # Действия: 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() # Проверяем возможность вертикальной прокрутки is_scrollable = mp.check_navigation_panel_verticall_scrolling() assert is_scrollable, "Should be vertical scrolling" # Действия: # Прокручиваем вверх и проверяем видимость элемента mp.scroll_navigation_panel_up() mp.check_navigation_panel_item_visibility("Панели") mp.wait_for_timeout(3000) # Прокручиваем вниз и проверяем видимость элемента Настройки/ZTP/Шаблоны mp.scroll_navigation_panel_down() mp.check_navigation_panel_item_visibility("Шаблоны") mp.wait_for_timeout(2000)