e-nms_qa_automation/tests/components/scrolling/test_session_settings.py

60 lines
2.4 KiB
Python

"""Модуль тестов вкладки 'Сеансы/Настройки'.
Содержит тесты для проверки функциональности и прокрутки
вкладки 'Сеансы/Настройки'.
"""
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.should_be_form_toolbar()
sst.wait_for_timeout(2000)