from pages.login_page import LoginPage from pages.main_page import MainPage from pages.license_tab import LicenseTab import pytest class TestJsonContainer: """Тесты для проверки контейнера с JSON-данными на вкладке лицензий.""" @pytest.fixture(scope="function", autouse=True) def setup(self, browser): """Фикстура для настройки тестового окружения. Выполняет: 1. Авторизацию в системе 2. Переход на главную страницу 3. Проверку видимости панели навигации 4. Переход на вкладку 'Лицензии' через меню настроек Args: browser: Фикстура браузера """ lp = LoginPage(browser) lp.do_login() # Переход на главную страницу mp = MainPage(browser) # Проверка видимости панели навигации mp.should_be_navigation_panel() # Клик по пункту "Настройки" в главном меню mp.click_main_navigation_panel_item("Настройки") # Клик по пункту "Обслуживание и диагностика" в меню конфигурации mp.click_configuration_navigation_panel_item("Обслуживание и диагностика") # Клик по пункту "Лицензии" в меню конфигурации mp.click_configuration_navigation_panel_item("Лицензии") def test_verticall_scrolling(self, browser): """Тест проверки вертикальной прокрутки в контейнере с JSON-данными. Проверяет: 1. Наличие возможности вертикальной прокрутки 2. Корректность работы прокрутки вниз и вверх Args: browser: Фикстура браузера """ # Инициализация страницы с лицензиями lt = LicenseTab(browser) # Проверка наличия вертикальной прокрутки is_scrollable = lt.check_json_container_verticall_scrolling() assert is_scrollable, "Should be verticall scrolling" # Прокрутка вниз с задержкой lt.scroll_json_container_down() lt.wait_for_timeout(3000) # Прокрутка вверх с задержкой lt.scroll_json_container_up() lt.wait_for_timeout(2000)