60 lines
2.5 KiB
Python
60 lines
2.5 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.get_field_by_name('administrator').check_visibility("Text 'Администратор' should be visible")
|
|
sst.wait_for_timeout(2000)
|