"""Модуль тестов вкладки 'Сеансы/Настройки'. Содержит тесты для проверки функциональности и прокрутки вкладки 'Сеансы/Настройки'. """ import pytest from playwright.sync_api import Page from pages.main_page import MainPage from pages.login_page import LoginPage from pages.session_settings_tab import SessionSettingsTab class TestSessionSettingsForm: """Класс тестов для проверки таблицы статусов сервисов.""" @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("Настройки") mp.click_subpanel_item("Обслуживание и диагностика") mp.click_subpanel_item("Сеансы") mp.click_subpanel_item("Настройки", parent="Сеансы") def test_scrolling(self, browser: Page) -> None: """Проверяет прокрутку формы редактирования настроек. Args: browser: Экземпляр страницы Playwright. Steps: 1. Проверяет возможность вертикальной прокрутки 2. Прокручивает вниз и проверяет видимость последней строки 3. Прокручивает вверх и проверяет видимость тулбара формы редактирования настроек """ # Инициализация страницы сеансов sst = SessionSettingsTab(browser) # Проверка вертикального скроллинга is_scrollable_vertically = sst.check_vertical_scrolling() assert is_scrollable_vertically, "Should be vertical scrolling" sst.scroll_down() sst.get_field_by_name('$collector').check_visibility("Text '$collector' should be visible") sst.wait_for_timeout(3000) sst.scroll_up() sst.get_field_by_name('administrator').check_visibility("Text 'Администратор' should be visible") sst.wait_for_timeout(2000)